Inhoud

# Service ScriptForge.Services

Het belangrijkste doel van de module Services is om toegang te bieden tot de methode CreateScriptService, die kan worden aangeroepen in gebruikersscripts om services te instantiëren die zijn geïmplementeerd met behulp van het ScriptForge-framework.

In ScriptForge-terminologie is een service een verzameling methodes en eigenschappen die voor een gemeenschappelijk doel kunnen worden gebruikt. De service String biedt bijvoorbeeld methodes voor het manipuleren van tekenreeksen, terwijl de service FileSystem de manipulatie van bestanden en mappen toestaat.

De module Services van de ScriptForge-bibliotheek biedt aanvullende methodes die intern worden gebruikt om beschikbare services te registreren of door ontwikkelaars die geïnteresseerd zijn in het uitbreiden van ScriptForge door nieuwe services te creëren. De enige methode die relevant is voor gebruikersscripts is CreateScriptService.

## CreateScriptService

Deze methode wordt gebruikt om een ScriptForge-service te instantiëren, zodat deze in gebruikersscripts kan worden aangeroepen.

De geretourneerde waarde is een Basic-object of Nothing als er een fout is opgetreden.

### Syntaxis:

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

### Parameters:

service: De naam van de service geïdentificeerd als een tekenreeks in de indeling "library.service":

- De bibliotheek is een Basic bibliotheek die moet bestaan in de GlobalScope. De standaardwaarde is "ScriptForge".

- De service is één van de services die is geregistreerd door de ScriptForge-bibliotheek.

arg0, ...: Een lijst met argumenten die vereist zijn door de aangeroepen service.

Als het eerste argument verwijst naar een gebeurtenismanager, dan is arg0 verplicht en moet het het UNO-object zijn dat de gebeurtenis vertegenwoordigt die als argument voor de gebruikersmacro is opgegeven.

### Voorbeeld:

##### In BASIC

        GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
        ' Eenmaal uitvoeren
        Dim svc As Object
        Set svc = CreateScriptService("Array")
        ' Verwijst naar de service "ScriptForge.Array" of SF_Array
        Set svc = CreateScriptService("ScriptForge.Dictionary")
        ' Retourneert een nieuwe lege instantie van de woordenboekklasse; "ScriptForge." is optioneel
        Set svc = CreateScriptService("SFDocuments.Calc")
        'Verwijst naar de Calc-service, geïmplementeerd in de bijbehorende SFDocuments-bibliotheek
        Set svc = CreateScriptService("Timer", True)
        ' Retourneert een instantie van een Timer-klasse die onmiddellijk begint
        Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
        'Verwijst naar de DocumentEvent-service die is geïmplementeerd in de bijbehorende SFDocuments-bibliotheek
        'Retourneert de instantie van de Document-klasse die de gebeurtenis heeft geactiveerd

##### In 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-scripts ondersteunen trefwoordargumenten bij het aanroepen van CreateScriptService. Het volgende voorbeeld illustreert dit concept door de services Timer en Document te instantiëren met behulp van trefwoordargumenten.

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

Om het schrijven van Python-scripts vloeiender te maken, biedt ScriptForge de service Basic, waarmee Python-scripts een verzameling methodes kunnen aanroepen met dezelfde syntaxis en betekenis als hun gelijknamige native Basic-functies.

In het volgende voorbeeld wordt de service Basic geïnstantieerd en wordt de methode MsgBox aangeroepen, wat gelijk is aan de functie MsgBox die beschikbaar is in Basic:

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

Houd er rekening mee dat de Basic-service moet worden geïnstantieerd in Python-scripts met behulp van de CreateScriptService-methode.

Alle ScriptForge Basic-routines of variabelen die beginnen met een underscore "_" zijn voor intern gebruik. Gebruik deze niet in een Basic of Python-macro.

Verwante onderwerpen

ScriptForge.Basic service

Instructie Set

Specificatie GlobalScope