Usługa ScriptForge.Services

Głównym celem modułu Services jest zapewnienie dostępu do metody CreateScriptService, którą można wywołać w skryptach użytkownika w celu utworzenia instancji usług zaimplementowanych przy użyciu frameworka ScriptForge.

W terminologii ScriptForge usługa to zbiór metod i właściwości, które można wykorzystać do wspólnego celu. Na przykład usługa String udostępnia metody manipulowania ciągami znaków, podczas gdy usługa FileSystem umożliwia manipulowanie plikami i folderami.

tip

Moduł Services biblioteki ScriptForge udostępnia dodatkowe metody, które są używane wewnętrznie do rejestrowania dostępnych usług lub przez programistów zainteresowanych rozszerzaniem ScriptForge poprzez tworzenie nowych usług. Jedyną metodą odpowiednią dla skryptów użytkownika jest CreateScriptService.


CreateScriptService

Ta metoda służy do tworzenia instancji usługi ScriptForge, aby można ją było wywoływać w skryptach użytkownika.

Zwrócona wartość to obiekt podstawowy lub Nothing, jeśli wystąpił błąd.

Składnia:

svc.CreateScriptService(service: str, [arg0: any] ...): svc

Parametry:

service: nazwa usługi identyfikowana jako ciąg znaków w formacie "library.service":

arg0, ...: lista argumentów wymaganych przez wywoływaną usługę.

Jeśli pierwszy argument odnosi się do menedżera zdarzeń, wówczas arg0 jest obowiązkowy i musi być obiektem UNO reprezentującym zdarzenie podane jako argument makra użytkownika.

Przykład:

W języku Basic
GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
' Wystarczy wykonać raz
Dim svc As Object
Set svc = CreateScriptService("Array")
' Odnosi się do usługi "ScriptForge.Array" lub SF_Array
Set svc = CreateScriptService("ScriptForge.Dictionary")
' Zwraca nową, pustą instancję klasy słownika; część "ScriptForge." jest opcjonalna
Set svc = CreateScriptService("SFDocuments.Calc")
' Odnosi się do usługi Calc, zaimplementowanej w powiązanej bibliotece SFDocuments
Set svc = CreateScriptService("Timer", True)
' Zwraca instancję klasy Timer, która rozpoczyna się natychmiast
Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
' Odnosi się do usługi DocumentEvent zaimplementowanej w powiązanej bibliotece SFDocuments
' Zwraca instancję klasy Document, która uruchomiła zdarzenie
W języku Python
from scriptforge import CreateScriptService
svc = CreateScriptService("Array")
svc = CreateScriptService("ScriptForge.Dictionary")
svc = CreateScriptService("SFDocuments.Calc")
svc = CreateScriptService("Timer", True)
svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)

Skrypty Pythona obsługują argumenty słów kluczowych podczas wywoływania CreateScriptService. Poniższy przykład ilustruje tę koncepcję poprzez utworzenie instancji usług Timer i Document przy użyciu argumentów słów kluczowych.

from scriptforge import CreateScriptService
# Timer
my_timer = CreateScriptService("Timer", start = True)
# Document
my_doc = CreateScriptService("Document", windowname = "some_file.ods")
tip

Aby pisanie skryptów w Pythonie było bardziej płynne, ScriptForge udostępnia usługę Basic, która pozwala skryptom Pythona wywoływać zbiór metod o tej samej składni i znaczeniu, co ich homonimiczne natywne funkcje Basic.


Poniższy przykład tworzy instancję usługi Basic i wywołuje metodę MsgBox, która jest odpowiednikiem funkcji MsgBox dostępnej w Basic:

from scriptforge import CreateScriptService
bas = CreateScriptService("Basic")
bas.MsgBox("Hello World!")
note

Należy pamiętać, że instancja usługi Basic musi zostać utworzona w skryptach Pythona przy użyciu metody CreateScriptService.


warning

Wszystkie podstawowe procedury lub identyfikatory ScriptForge poprzedzone znakiem podkreślenia „_” są zarezerwowane do użytku wewnętrznego. Nie należy ich używać w makrach Basic ani skryptach Pythona.


Prosimy o wsparcie!