ScriptForge.Tjenester tjeneste

Hovedformålet med modulen Tjenester er å gi tilgang til metoden CreateScriptService, som kan kalles inn brukerskript for å instansiere tjenester som er implementert ved hjelp av ScriptForge-rammeverket.

I ScriptForge-terminologi er en tjeneste en samling metoder og egenskaper som kan brukes til et felles formål. For eksempel gir Streng-tjenesten metoder for å manipulere strenger, mens FileSystem-tjenesten tillater manipulering av filer og mapper.

tip

Modulen Tjenester i ScriptForge-biblioteket gir tilleggsmetoder som brukes enten internt for å registrere tilgjengelige tjenester eller av utviklere som er interessert i å utvide ScriptForge ved å lage nye tjenester. Den eneste metoden som er relevant for brukerskript er CreateScriptService.


CreateScriptService

Denne metoden brukes til å instansiere en ScriptForge-tjeneste slik at den kan kalles opp i brukerskript.

Den returnerte verdien er et Basic-objekt eller Ingenting hvis det oppstod en feil.

Syntaks:

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

Parametre:

tjeneste: Navnet på tjenesten identifisert som en streng i formatet "library.service":

arg0, ...: En liste over argumenter som kreves av den påkalte tjenesten.

Hvis det første argumentet refererer til en hendelsesbehandler, er arg0 obligatorisk og må være UNO-objektet som representerer hendelsen som er gitt som argument til brukermakroen.

Eksempel:

I Basic

    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
    ' Skal gjøres en gang
    Dim svc As Object
    Set svc = CreateScriptService("Array")
    ' Refererer til "ScriptForge.Array"-tjenesten eller SF_Array
    Set svc = CreateScriptService("ScriptForge.Dictionary")
    ' Returnerer en ny tom ordbokklasseforekomst; "ScriptForge." er valgfritt
    Set svc = CreateScriptService("SFDocuments.Calc")
    ' Refererer til Calc-tjenesten, implementert i det tilknyttede SFDocuments-biblioteket
    Set svc = CreateScriptService("Timer", True)
    ' Returnerer en Timer-klasseforekomst som starter umiddelbart
    Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
    ' Refererer til DocumentEvent-tjenesten implementert i det tilknyttede SFDocuments-biblioteket
    ' Returnerer forekomsten av Document-klassen som utløste hendelsen
  
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 støtter søkeordargumenter når du kaller CreateScriptService. Følgende eksempel illustrerer dette konseptet ved å instansiere Timer og Dokument-tjenestene ved å bruke søkeordargumenter.


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

For å gjøre skriving av Python-skript mer flytende, tilbyr ScriptForge Basic-tjenesten som lar Python-skript kalle en samling metoder med samme syntaks og betydning som deres homonyme opprinnelige Basic-funksjoner.


Følgende eksempel instansierer Basic-tjenesten og kaller opp MsgBox-metoden, som tilsvarer MsgBox-funksjonen som er tilgjengelig i Basic:


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

Beware that the Basic service has to be instantiated in Python scripts using the CreateScriptService method.


warning

Alle ScriptForge Grunnleggende rutiner eller identifikatorer som er prefikset med et understrekingstegn "_" er reservert for intern bruk. De er ikke ment å brukes i grunnleggende makroer eller Python-skript.