ScriptForge.Services zerbitzua

Servicesmoduluaren xede nagusia CreateScriptService metodora sartzeko aukera ematea da. Metodo hori erabiltzaile-scriptetatik deitu daiteke ScriptForge lan-markoaren bidez inplementatzen diren zerbitzuen instantziak sortzeko.

ScriptForge terminologian, zerbitzu bat da xede komun baterako erabili daitezkeen metodoen eta propietateen bilduma bat. Adibidez, String zerbitzuak kateak manipulatzeko metodoak eskaintzen ditu eta FileSystem zerbitzuak fitxategiak eta karpetak manipulatzeko balio du.

tip

ScriptForge liburutegiaren Services moduluak metodo gehigarriak eskaintzen ditu erabilgarri dauden zerbitzuak erregistratzeko edo ScriptForge bera hedatzeko interesa duten garatzaileek zerbitzu berriak sortu ditzaten. Horietatik, erabiltzaile-scriptetarako esanguratsua den metodo bakarra CreateScriptService da.


CreateScriptService

Metodo hori erabiltzaile-scriptetatik deitu daitezkeen ScriptForge zerbitzu-instantziak sortzeko erabiltzen da.

Itzuliko den balioa Basic objektu bat edo Nothing, errore bat gertatu bada, izango da.

Sintaxia:

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

Parametroak:

service: Zerbitzuaren izena, kate gisa, "library.service" formatuan:

arg0, ...: Deitutako zerbitzuak behar dituen argumentuen zerrenda bat.

Lehen argumentuak gertaera-kudeatzaile bati egiten badio erreferentzia, arg0 derrigorrezkoa da eta erabiltzaile-makroari argumentu gisa emandako gertaera ordezkatzen duen UNO objektua izan behar du.

Adibidea:

Basic lengoaian

    GlobalScope.BasicLibraries.loadLibrary("ScriptForge")
    ' Behin bakarrik egingo da
    Dim svc As Object
    Set svc = CreateScriptService("Array")
    ' "ScriptForge.Array" zerbitzuari edo SF_Array objektuari egiten dio erreferentzia
    Set svc = CreateScriptService("ScriptForge.Dictionary")
    ' Hiztegi huts baten klase-instantzia bat itzultzen du; "ScriptForge." aukerakoa da
    Set svc = CreateScriptService("SFDocuments.Calc")
    ' Lotutako SFDocuments liburutegian inplementatutako Calc zerbitzuari egiten dio erreferentzia
    Set svc = CreateScriptService("Timer", True)
    ' Berehala hasiko den Timer klase-instantzia bat itzultzen du
    Set svc = CreateScriptService("SFDocuments.DocumentEvent", oEvent)
    ' Lotutako SFDocuments liburutegian inplementatutako DocumentEvent zerbitzuari egiten dio erreferentzia
    ' Gertaera abiarazi duen Document klasearen instantzia egiten dio erreferentzia
  
Python lengoaian

    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 scriptek gako-hitzak onartzen dituzte CreateScriptService deitzean. Hurrengo adibideak kontzeptu hori azaltzen du: Timer eta Document zerbitzuen instantziak sortzen ditu gako-hitzak erabiliz.


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

Python scriptak errazago idazteko, ScriptForge liburutegiak Basic zerbitzu bat eskaintzen du Python scriptetatik pareko jatorrizko Basic funtzioen sintaxi eta esanahi bera duten metodoen bilduma bati deitu ahal izateko.


Hurrengo adibidean, Basic zerbitzuaren instantzia bat sortzen da eta MsgBox metodoari deitzen zaio. Hori Basic-en erabilgarri dagoen MsgBox funtzioaren parekoa da:


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

Kontuan izan Basic zerbitzua Python scriptetan erabili ahal izateko, bere instantzia bat sortu behar dela CreateScriptService metodoaren bidez.


warning

Azpimarraren karaktere bat, "_", aurrizki gisa duten ScriptForge Basic errutina edo identifikatzaile guztiak barneko erabilerarako erreserbatuta daude. Ez dira Basic makroetan edo Python scriptetan erabili behar.


Emaguzu laguntza!