Služba ScriptForge.Services

Hlavním účelem modulu Service je poskytovat přístup k metodě CreateScriptService, pomocí které lze v uživatelských skriptech vytvářet instance služeb implementovaných v knihovnách ScriptForge.

V terminologii knihoven ScriptForge je služba sada metod a vlastností, které lze použít ke společnému účelu. Například služba String nabízí metody pro manipulaci s řetězci, zatímco služba FileSystem umožňuje zacházet se soubory a složkami.

tip

Modul Service knihovny ScriptForge obsahuje další metody, které jsou používány buď interně pro registraci dostupných služeb, nebo vývojáři, kteří chtějí ScriptForge rozšířit o nové služby. Jedinou metodou, která je relevantní pro uživatelské skripty, je CreateScriptService.


CreateScriptService

Tato metoda se používá k vytvoření instance služby ScriptForge, která díky ní může být provedena v uživatelských skriptech.

Návratovou hodnotou je objekt Basicu nebo objekt Nothing, pokud nastane chyba.

Syntaxe:

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

Parametry:

service: Název služby jako řetězec ve formátu "knihovna.služba":

arg0, ...: Seznam argumentů vyžadovaných vytvářenou službou.

Pokud první argument odkazuje na správce událostí, poté je arg0 povinný a musí se jednat o objekt UNO představující událost, která byla předána jako argument uživatelskému makru.

Příklad:

V Basicu

    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
    ' Stačí provést jednou
    Dim svc As Object
    Set svc = CreateScriptService("Array")
    ' Odkazuje na službu "ScriptForgeArray" či SF_Array
    Set svc = CreateScriptService("ScriptForge.Dictionary")
    ' Vrátí novou, prázdnou instanci třídy slovník; část "ScriptForge." je nepovinná
    Set svc = CreateScriptService("SFDocuments.Calc")
    ' Odkazuje na službu Calc, implementovanou v připojené knihovně SFDocuments
    Set svc = CreateScriptService("Timer", True)
    ' Vrátí instanci třídy Timer, která se okamžitě spustí
    Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
    ' Odkazuje na službu DocumentEvent, implementovanou v připojené knihovně SFDocuments
    ' Vrátí instanci třídy dokument, která událost spustila
  
V Pythonu

    from scriptforge import CreateScriptService
    svc = CreateScriptService("Array")
    svc = CreateScriptService("ScriptForge.Dictionary")
    svc = CreateScriptService("SFDocuments.Calc")
    svc = CreateScriptService("Timer", True)
    svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
  

Ve skriptech Pythonu je možné uvést při volání metody CreateScriptService názvy argumentů. Následující příklad ukazuje jejich použití při vytváření instance služeb Timer a Document.


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

V zájmu usnadnění psaní skriptů Pythonu nabízí knihovna ScriptForge službu Basic, která umožňuje ze skriptů Pythonu volat sadu metod se stejnou syntaxí a významem, jaké mají stejnojmenné nativní funkce Basicu.


V následujícím příkladu je vytvořena instance služby Basic a zavolána metoda MsgBox, odpovídající funkci MsgBox dostupné v Basicu.


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

Mějte na paměti, že ve skriptech Pythonu musí být vytvořena instance služby Basic, a to metodou CreateScriptService.


warning

Všechny procedury nebo identifikátory knihovny ScriptForge, které jsou uvozeny podtržítkem "_", jsou určeny pro interní použití. Není zamýšleno je používat v makrech Basicu nebo skriptech Pythonu.


Podpořte nás!