Tenesta ScriptForge.Services

HovudfÞremÄlet med modulen Services er Ä gje tilgang til metoden CreateScriptService, som kan kallast opp i brukarskript for Ä setja opp tenester som vert implementerte med ScriptForge-miljÞet.

I ScriptForge-terminologien er ei teneste ei samling av metodar og eigenskapar som kan brukast til eit felles fÞremÄl. For eksempel har tenesta String metodar for Ä handsama strengar, medan tenesta FileSystem vert brukt for Ä handsama filer og mapper.

tip

Modulen Services i ScriptForge-biblioteket har tilleggsmetodar som vert brukte anten internt for Ă„ registrere tilgjengelege tenester eller av utviklarar som er interessert i Ă„ utvide ScriptForge ved Ă„ laga nye tenester. Den einaste metoden som er relevant for brukarskript er CreateScriptService.


CreateScriptService

Denne metoden vert brukt til Ă„ instansiere ei ScriptForge-teneste slik at ho kan kallast opp i brukarskript.

Den returnerte verdien er eit Basic-objekt, eller Nothing viss det skjedde ein feil.

Syntaks:

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

Parametrar:

service: Namnet pÄ tenesta som vert identifisert som ein streng i formatet "library.service":

arg0, ...: Ei liste over argument som den oppkalla tenesta krev.

Viss det fÞrste argumentet viser til ei hendingshandsaming, er arg0 obligatorisk og mÄ vera det UNO-objektet som representerer den hendinga som er gjeve som argument til brukarmakroen.

Eksempel:

I Basic

    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
    ' Skal gjerast Ă©in gong
    Dim svc As Object
    Set svc = CreateScriptService("Array")
    ' Refererer til tenesta «ScriptForge.Array» eller SF_Array
    Set svc = CreateScriptService("ScriptForge.Dictionary")
    ' Returnerer ein ny tom klassefÞrekomst av ei ordbok; «ScriptForge.» er valfri
    Set svc = CreateScriptService("SFDocuments.Calc")
    ' Refererer til Calc-tenesta, implementert i det tilknytte SFDocuments-biblioteket
    Set svc = CreateScriptService("Timer", True)
    ' Returnerer ein klassefĂžrekomst Timer, som startar med ein gong
    Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
    ' Refererer til DocumentEvent implementert i det tilknytte SFDocuments-biblioteket
    ' Returnerer den fĂžrekomsten av klassen Document som utlĂžyste hendinga
  
I 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)
  

Python-skript har stÞtte for nÞkkelordargument nÄr CreateScriptService vert kalla opp. Det fÞlgjande eksempelet viser dette konseptet ved Ä instansiere tenesteneTimer og Document ved Ä bruka nÞkkelordargument.


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

For Ă„ gjera skriving af Python-skript meir flytande, leverer ScriptForge-tenesta Basic, som tillet Python-skript Ă„ kalla opp ei samling av metodar med den same syntaksen og den same tydinga som funksjonane i Basic med det same namnet.


Eksempelet nedanfor set opp tenesta Basic og kallar opp metoden MsgBox som den same som funksjonen MsgBox i Basic:


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

Hugs at tenesta Basic mÄ setjast opp i Python-skripta med metoden CreateScriptService.


warning

Alle ScriptForge Basic-rutinane og -identifikatorane som vert innleidde med understrek «_» er reserverte for internt bruk. Dei er ikkje meint brukte i Basic-makroar.


StĂžtt oss!