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!