[gelöst] Routinenname mit Variablen starten

Antwort erstellen


BBCode ist eingeschaltet
[img] ist ausgeschaltet
[url] ist eingeschaltet
Smileys sind ausgeschaltet

Die letzten Beiträge des Themas
   

Ansicht erweitern Die letzten Beiträge des Themas: [gelöst] Routinenname mit Variablen starten

Re: [gelöst] Routinenname mit Variablen starten

von erikafuchs » Di, 01.12.2020 18:18

Abschließend noch einen besonderen Dank an Pit für diese Anfrage.
Ich bin ja ganz gerührt und ich hoffe, ihr versteht, dass ich vom letzten Teil der Diskussion nur Bahnhof verstanden habe, es freut mich aber wenn ich Euch einen netten Austausch ermöglicht habe - gerne wieder.

Re: [gelöst] Routinenname mit Variablen starten

von craig22 » Mo, 30.11.2020 19:36

Hallo Stephan,

es geht nach wie vor um das Thema "Starten einer Sub-Routine mittels einer String-Variablen".
Die Lösung habe ich gefunden, damit ist doch ersteinmal alles OK und gelöst.

Dein Script war für mich aber auch interessant und ich habe verschiedene Methoden versucht,
um dieses unter LO, als auch unt AOO auszuführen. Dabei sind dann verschiedene Stolpersteine
aufgetaucht, welche ich berichtet habe.
Stephan hat geschrieben:Das kann nichts bewirken denn es ist nicht möglich einfach(*) von außen her ein in einem Dokument gespeichertes Makro zu starten.
(*)
ich bin nicht sicher ob es jenseits des weiter unten stehenden nicht noch einen Trick gibt, irgendwie ist mir so als hätte mal jemand (ich nicht) etwasa ausgeknobelt.
Mir reicht meine herausgefundene Methode, deshalb werde ich nicht weiter in diese Richtung recherchieren.
Stephan hat geschrieben:Wenn ich Dein Tun richtig verstehe, dann solltest Du einfach mal das aufzurufende Makro in "Meine Makros ..." speichern.
Auch dies habe ich getestet, inklusive Laden der Bibliothek bei Programmstart:

Code: Alles auswählen

GlobalScope.BasicLibraries.LoadLibrary( "Standard" )
Stephan hat geschrieben:Nicht ganz sicher bin ich mir ohne Nachrecherchieren ob nur der Weg über des Aufrufen eines Dokuments UND Start des Makros per Ereignis geht oder ob man bei Aufruf des Dokuments per Skript auch direkt ein Dokument-Makro per Parameter (zusätzlich) angeben kann.
Starten per Script mit Übergabe der Stringvariablen wahr ja auch nur ein Nebengedanke, weil ich anfänglich zum Hauptthema " Routinenname mit Variablen starten" keine Lösung fand.

Meinerseits habe mehr als ausreichend getestet, herausgefunden und eine auch für mich interessante Lösung gefunden.

Abschließend noch einen besonderen Dank an Pit für diese Anfrage.

Re: [gelöst] Routinenname mit Variablen starten

von Stephan » Mo, 30.11.2020 18:14

Laden der Bibliothek "Standard" Bezug auf das Dokument, nicht auf "Meine Makros & Dialog/ Standard"
mittels
Das kann nichts bewirken denn es ist nicht möglich einfach(*) von außen her ein in einem Dokument gespeichertes Makro zu starten.

(*)
ich bin nicht sicher ob es jenseits des weiter unten stehenden nicht noch einen Trick gibt, irgendwie ist mir so als hätte mal jemand (ich nicht) etwasa ausgeknobelt.


Wenn ich Dein Tun richtig verstehe, dann solltest Du einfach mal das aufzurufende Makro in "Meine Makros ..." speichern.


Nicht ganz sicher bin ich mir ohne Nachrecherchieren ob nur der Weg über des Aufrufen eines Dokuments UND Start des Makros per Ereignis geht oder ob man bei Aufruf des Dokuments per Skript auch direkt ein Dokument-Makro per Parameter (zusätzlich) angeben kann.



Gruß
Stephan

Re: [gelöst] Routinenname mit Variablen starten

von craig22 » Mo, 30.11.2020 17:34

Hallo Stephan,
  1. Laden der Bibliothek "Standard" Bezug auf das Dokument, nicht auf "Meine Makros & Dialog/ Standard"
    mittels

    Code: Alles auswählen

    BasicLibraries.LoadLibrary( "Standard" )
    veränderte auch nicht das Verhalten. Weder unter LO, noch unter AOO.

    D.h. für AOO Dein Script muss bei mir in dem Modul gespeichert sein, in welchem die aufzurufende Routine gespeichert ist.
    Modul1 = Script → Modul2 = Sub-Routine funktioniert nicht.
  2. Ja, ich habe OO vorher neu gestartet um auszuschliessen das es im Hintergrunf die Bibliothek noch geladen hatte.
    Ja, habe ich auch erfolglos getestet
  3. Stephan hat geschrieben:Könntest Du einmal schauen was passiert wenn Du bei Dir meinScript.vbs per Doppelklick startest?
    es blitzt nur kurz ein Fenster auf; Es passiert aber nichts.
    Egal ob AOO geschlossen ist oder ob das Dokument mit dem Makro geöffnet ist.
    Ich vermute, dass im Fall: AOO geschlossen ein solche Anweisung in der Batch fehlt:

    Code: Alles auswählen

    SET L="C:/Program Files/LibreOffice/program/soffice.exe"
    SET M="macro:///Standard.macro:///Standard.Module2.Main()"
    %L% --nologo %M%
  4. Mein Verdacht geht nun in die Richtung, dass "meinScript.vbs" keine Angaben / keine URL zum Dokument enthält.
    oDesktop liefert das gesuchte Dokument nur über:

    Code: Alles auswählen

    oDesktop.Frames.getByIndex(?)
    Dazu ist dann aber noch eine Enumeration erforderlich, welche dann den Dokumenttitel ausliest und vergleicht.
    Der Index allein ist ja nichts sagend, man weiß nicht welcher Index das gewünschte Dokument wiederspiegelt.

Re: [gelöst] Routinenname mit Variablen starten

von Stephan » So, 29.11.2020 12:15

Offensichtlich muss, unter diesen Bedingungen, die Bibliothek vorher gelanden werden.
Ich habe das jetzt getestet und kann meiune Aussage nicht bestätigen. Bei mir startet ein Makro das sich in "Module1" von "Testbibliothek" befindet einwandfrei (Windows 7 64 Bit, AOO 4.1.6).
Ja, ich habe OO vorher neu gestartet um auszuschliessen das es im Hintergrunf die Bibliothek noch geladen hatte.

Könntest Du einmal schauen was passiert wenn Du bei Dir meinScript.vbs per Doppelklick startest? Ich bekomme zwar, richtigerweise, eine Meldung wenn *.vbs nicht auf dem SYstem registriert ist, aber man weiß ja nie.


Gruß
Stephan

Re: [gelöst] Routinenname mit Variablen starten

von Stephan » So, 29.11.2020 11:54

Wenn das aufrufende Makro (WSH_Test()) in einem anderen Modul steht, als das auszuführende Makro (Test()), dann
läuft das Makro kommentarlos durch, ruft aber nicht "Sub Test()" auf.
Offensichtlich muss, unter diesen Bedingungen, die Bibliothek vorher gelanden werden. Nö, ich habe das nicht ausprobiert, nur mir sticht es sofort ins Auge weil es bei OO allgemein so ist(*) das ich eine Bibliothek erst laden muss bevor ich darauf zugreifen kann.


(*)
Ausnahmen sind (wohl auch heute noch) die Bibliothek Standard, obwohl ich diese inzwischen vorsichztshalber, in Makroprojekten, auch immer explizit lade, sowie die Besonderheit das nach Fehleranzeige einer nicht geladenen Bibliothek OO diese anschliessend kommentarlos lädt.


Zu LO kann ich auf die Schnelle nichts sagen da ich kein Windows Testsystem habe wo LO als Standard-Applikation eingebunden ist.



Gruß
Stephan

Re: [gelöst] Routinenname mit Variablen starten

von craig22 » So, 29.11.2020 11:38

@Stephan
eine kurze Rückmeldung:
  • AOO 4.1.6
    • Funktioniert bei mir, wenn das aufrufende Makro (Sub WSH_Test()) im selben Modul wie das auszuführende Makro (Sub Test()) steht.
    • Wenn das aufrufende Makro (WSH_Test()) in einem anderen Modul steht, als das auszuführende Makro (Test()), dann
      läuft das Makro kommentarlos durch, ruft aber nicht "Sub Test()" auf.
    • Fehlermeldung wenn ich „On Error“ deaktiviere.
  • LO 7.0.1.2 (x64)
    • Funktioniert bei mir in beiden Fällen nicht, d.h. "Sub Test()" wird nicht aufgerufen.
    • Keine Fehlermeldung, auch nicht wenn ich „On Error“ deaktiviere.
  • LO 7.2.0.0.alpha0+ (x64)
    • Funktioniert bei mir in beiden Fällen nicht, d.h. "Sub Test()" wird nicht aufgerufen.
    • Keine Fehlermeldung, auch nicht wenn ich „On Error“ deaktiviere.

Re: [gelöst] Routinenname mit Variablen starten

von Stephan » So, 29.11.2020 10:16

Soweit ich das verstanden habe, ist das Problem, das ein 32 Bit Office auf einen 64-bit wsh treffen kann und umgekehrt, was in beiden Fällen nicht funktionieren würde.
Interessanter Einwurf. Das bringt dann wieder meinen ursprünglichen Gedanken nach vorn, den ich inzwischen schon als weniger interessant abgetan hatte: erstelle per Makro ein Script und startete es per Makro, denn dabei kann es keine Probleme mit 32 vs. 64 Bit geben, wenn das Starten mit der Defaultanwendung des Systems erfolgt und OO/LO sich übrerhaupt nicht um die Zuordnung kümmern muss, sondern das das Betreiebssystem regelt.

z.B. Makro "Main" in "Module1" von "meine Makros" starten:

Code: Alles auswählen

Sub WSH_Test()
	Dim par(0) as New com.sun.star.beans.PropertyValue
	par(0).Name = "Hidden"
	par(0).Value = True
	
	Dim x As String
	
	x = "On Error Resume Next"
	x = x & CHR(13) & "Set oServiceManager = CreateObject(""com.sun.star.ServiceManager"")"
	x = x & CHR(13) & "Set oDesktop = oServiceManager.CreateInstance(""com.sun.star.frame.Desktop"")"
	x = x & CHR(13) & "Dim mNoArgs()"
	x = x & CHR(13) & "Set oDispatcher = oServiceManager.CreateInstance(""com.sun.star.frame.DispatchHelper"")"
	x = x & CHR(13) & "ergebnis = oDispatcher.executeDispatch(oDesktop, ""macro:///Standard.Module1.Main"", """", 0, mNoArgs)"
	
	doc = StarDesktop.loadComponentFromURL( "private:factory/swriter" , "_blank", 0, par() )
	doc.Text.String = x
	
	par(0).Name = "FilterName"
	par(0).Value = "Text"
	doc.storeToUrl(ConvertToURL("D:\meinScript.vbs") , par())
	doc.close(True)
	
	'Wait 100
	
	Dim starten as object 
	starten = createUnoService("com.sun.star.system.SystemShellExecute") 
	starten.execute(ConvertToUrl("D:\meinScript.vbs"), "", 0)
End Sub
Das "On Error Resume Next" vermeidet nur eine Fehlermeldung des Scripting Hosts selbst, die bei mir auftritt. MIr ist momentan unklar warum diese auftritt, der Scriptinghost meckert über KLammern (Windows 7, 64 Bit)



Gruß
Stephan

Re: [gelöst] Routinenname mit Variablen starten

von Hiker » So, 29.11.2020 00:44

craig22 hat geschrieben: Sa, 28.11.2020 20:14 ...
Wenn ich die letzte Antwort in Deinen Bug-Report richtig verstanden
habe, dann kann LO WSH nicht ausführen, weil es 64-bittig ist.
Soweit ich das verstanden habe, ist das Problem, das ein 32 Bit Office auf einen 64-bit wsh treffen kann und umgekehrt, was in beiden Fällen nicht funktionieren würde. Ähnlich wie bei Java muss es passen, wofür es aber keine Garantie gibt.

Mfg, Jörn

Re: [gelöst] Routinenname mit Variablen starten

von craig22 » Sa, 28.11.2020 20:14

Vielen Dank für den Link.

In Richtung Scriptinghost habe ich auch gesucht, weil ich damit unter VB und VBA gearbeitet habe.
Habe aber nicht herausbekommen, wie ich die Strings aus Starbasic zwecks Ausführung übergeben soll.

Wenn ich die letzte Antwort in Deinen Bug-Report richtig verstanden
habe, dann kann LO WSH nicht ausführen, weil es 64-bittig ist.
Wegen der Probleme mit LO, wäre für eine Lösung mit dem WSH dann für mich weniger interessant.
Das Programm soll unter LO, als auch unter AOO lauffähig sein.

Hinweis:
Der von mir genutzte Service und das Interface habe ich unter
LO 7.0.1.2 (x64) und AOO 4.1.6 erfolgreich getestet.
Stephan hat geschrieben:aber egal, Dein Ansatz ist im DEtail interessanter.
Danke.

Re: [gelöst] Routinenname mit Variablen starten

von Stephan » Sa, 28.11.2020 19:29

Ich habe auch in diese Richtung geforscht,
z.B. habe ich jetzt gefunden:
viewtopic.php?p=285617#p285617

das ist aber immer noch nicht das woran ich eigentlich dachte - aber egal, Dein Ansatz ist im DEtail interessanter.


GRuß
Stephan

Re: Routinenname mit Variablen starten

von craig22 » Sa, 28.11.2020 14:57

@Stephan
Stephan hat geschrieben:"1.
Erstelle zur Laufzeit eine Batchdatei (oder ein Script) welche den Makroaufruf enthält und starte diese Batchdatei. Beispiele dafür sollten sich im Forum finden lassen."
Ich habe auch in diese Richtung geforscht, auch wenn ich in meinen Antworten nicht explizit darauf eingegangen bin.
Letztendlich hat mich dieser Hinweis ja auf die Python-Programmierung
gebracht, wo ich dann auf Umwegen die jetzige Lösung gefunden habe.
Da ich mich mit Python auch nicht auskenne, bis auf ein paar kleine Übungen, war mir eine reine Basic-Lösung lieber.
Stephan hat geschrieben:Die von Dir ausgearbeitete Lösung ist aber interessanter, ich werde mir das einmal in Ruhe ansehen.

Ich freue mich auf eine Rückmeldung, auch Verbesserungvorschläge nehme ich gerne an.

@Pit
Pit hat geschrieben:da habe ich wieder viel gelernt.
Das freut mich :D
Pit hat geschrieben:ich habe mich aber mal hingesetzt und dein Script noch vereinfacht. Anstelle von den Strings auf einem extra Tabellenblatt erstelle ich die Strings mit einer Schleife und das Makro starte ich mit einem Tabellenblattereignis direkt durch Klick auf die entsprechende Zelle mit dem Namen des
Ja, so hatte ich es auch vor. Nur Du erwähntest, dass Du ca. 100 Sub's
damit aufrufen möchtest, habe ich eine flexible Tabelle angelegt.
Das unschöne daran ist, dass man diese Tabelle in der Originaldatei u.U. ausblenden
muss oder die Daten (Namen der Sub's) in eine externe Datei auslagern muss.
Der Vorteil ist: Wenn sich später Routinennamen ändern, dann ändert man diese in
der Tabelle und werden dann zur Laufzeit automatisch vom Array korrekt verarbeitet

Ein weiterer Nachteil ist die Benennung der Aufgaben in der Schleife:
  • Aufg_01
  • Aufg_20
  • Aufg-140
Da Du bei den ersten 9 Aufgaben eine Null vorangestellt hast, musst Du eine Abfrage starten:
WENN Aufg_0
DANN Aufg_0n
SONST
Aufg_n

Re: Routinenname mit Variablen starten

von erikafuchs » Sa, 28.11.2020 13:22

Hallo Craig,
da habe ich wieder viel gelernt.
ich habe mich aber mal hingesetzt und dein Script noch vereinfacht. Anstelle von den Strings auf einem extra Tabellenblatt erstelle ich die Strings mit einer Schleife und das Makro starte ich mit einem Tabellenblattereignis direkt durch Klick auf die entsprechende Zelle mit dem Namen des Themas:
Sub Routine per String starten_03.ods
(33.41 KiB) 232-mal heruntergeladen

Re: Routinenname mit Variablen starten

von Stephan » Sa, 28.11.2020 11:19

Es war reiner Zufall, dass ich
danke für die interessanten Ausführungen, nur weil ich das kenne, hatte ich gleich am Anfang darauf hinwiesen (im anderen Thread):

"1.
Erstelle zur Laufzeit eine Batchdatei (oder ein Script) welche den Makroaufruf enthält und starte diese Batchdatei. Beispiele dafür sollten sich im Forum finden lassen."


weil ich weiß das es z.B. von mir Lösungen mit dem Scriptprovider mit VBScript im Forum gibt, nur konnte ich diese auf die Schnelle selbst nicht finden.

Die von Dir ausgearbeitete Lösung ist aber interessanter, ich werde mir das einmal in Ruhe ansehen.


Gruß
Stephan

Re: Routinenname mit Variablen starten

von craig22 » Fr, 27.11.2020 21:49

Pit hat geschrieben:Ich erstarre in Erfurcht und fühle mich wieder mal ganz klein!
Der einzige Unterschied zwischen Dir und mir, ist nicht die Größe, sondern die Nutzung
von XRAY, gepaart mit einer ausdauernden Geduld bei der Suche im Netz.

Es war reiner Zufall, dass ich zuerst per

Code: Alles auswählen

XRAY oDoc

Code: Alles auswählen

getScriptProvider         (  )                             AS com.sun.star.script.provider.XScriptProvider             com.sun.star.script.provider.XScriptProviderSupplier 
gefunden habe.
Allerdings führten meine Test’s immer zu Fehlermeldungen.
Also im Netz suchen und ich fand zunächst nur etwas zum Thema Python, bis ich dann diesen Begriff fand „ MasterScriptProviderFactory“.

In der API nachgeschlagen, hartnäckig im Netz gesucht und im englischen Forum fündig geworden.
Du siehst, nur geklaut und etwas umgemodelt.
Pit hat geschrieben:Ich traue mich jetzt noch nicht so recht das einzubauen weil ich nur Teile verstehe.
Nun es wird Fleißarbeit sein, Deinen Code entsprechend anzupassen, zumal ich gemäß Deiner Aussagen nur erahnen kann, dass es ein größerer recht komplexer Code ist, welchen Du nutzt.
Ich vermute Du doppelklickst auch auf Zellen in anderen Spalten, um eine entsprechende Routine aufzurufen.
Dabei kann Dir das von mir erstellte „Array’s in Array“ gute Dienste leisten. Vorausgesetzt die Logik paßt.
Pit hat geschrieben:(Ich weiß nicht, ob ich hier gesteinigt werde, wenn ich zugebe, dass mich hier mal wieder die Befürchtung ereilt, dass ich nicht wirklich Ahnung habe, was "objektorientiertes Programmieren" heißt (mein Riesenprogramm funktioniert ja totzdem (... meistens)))
Foren sind doch dazu da Fragen zu stellen.
Aus meiner Sicht gibt es keine dummen Fragen, sondern ggf. nur dumme Antworten.
Und ein Profiprogrammierer bin ich auch nicht; habe mir alles selbst beigebracht.
Motto:
  1. XRAY
  2. API verstehen
  3. RTFM
  4. Verstehe das Gelesene
  5. Teste das Gelesene
  6. Nutze das Gelesene
  7. Dann versteht’s Du wie es läuft.
  8. Jede Fehlermeldung treibt einen u.U. in den Wahsinn, aber man lernt daraus.
    So auch in dem aktuellen Fall:
    String in Anweisung konvertieren.
  9. Stelle auch dumme Fragen in den Foren :lol: :mrgreen:
Pit hat geschrieben:Hilf mir doch mal hiermit:

Sind das Varaiblen des Typs "object":
Dim oMSPF ' Service "MasterScriptProviderFactory"
Dim oSC ' Interface: "XScriptInvocationContext"
Siehe den Kommentar hinter den Deklarationen:
  • ' Service "MasterScriptProviderFactory"
  • ' Interface: "XScriptInvocationContext"
Ich habe mir angewöhnt die AOO-Konventionen bei der Basic-Programmierungg zu nutzen, eben weil ich kein Profi mit, sind die Präfixe quasi selbstredend.
Siehe diese AOO Seite…
Hier erkennst Du dass ein vorangestelltes o dreierlei bedeuten kann:
  1. oObject
  2. oService
  3. oInterface
Daraus resultiert:
Wenn ich meine ggf. umfangreichen Code lese, dann weiß ich sofort, es muss sich bei der Variablen um eines der drei Dinge handeln. Wenn ich dann noch den eigentlichen Variablennamen z.B. Doc hinter o schreibe, dann kann ich auch in fünf Jahren noch erahnen dass es sich um ein Objekt handelt.

Bei Services könnte man das Präfix erweitern und so deklarieren:
oSrvMasterScript
Bei Interfaces:
oIntTitle

Code: Alles auswählen

Dim script '
Bei script bin ich mir iim Augenblick noch nicht sicher, um was es sich hierbei handelt.
Wenn ich script mit Xray inspiziere, dann vermute ich es handelt sich um ein Objekt.
Dazu recherchiere ich aber noch.
Pit hat geschrieben:Wo findet mein Makro dieses Object(?) ? (zwei Fragezeichen weil ich nicht sicher bin ob das ein Objekt ist):
oMSPF = GetDefaultContext().getByName("/singletons/com.sun.star.script.provider.theMasterScriptProviderFactory")
Siehe hier:
http://ooo-site.apache.org/api/docs/com ... ctory.html
Daraus geht hervor, dass „MasterScriptProviderFactory“ ein Service ist. Ein Service stellt weitere Services, Interfaces, Eigenschaften und Methoden bereit. Dies hat aber nichts mit Vererrbung zu tun.
Es wird ein Zeiger auf den Service erstellt und dann greift man sich Eigenschaften und Methoden, usw. welche der Service bereitstellt.
Was dies im einzelffal ist, ließt man entweder mit XRAY aus oder man bemüht die API-Dokmentation.
Somit ist oMSPF lediglich ein Zeiger auf diesen Service.
Als würde man mit dem Finger auf ein Haus zeigen.

Übersetzen könnte man dieses in etwa so:
Lieber Interpreter ich möchte genau diesen Service nutzen.
Mehr sagt die Anweisung nicht aus.
Pit hat geschrieben:das hier ist wohl so ähnlich wie wenn ich einen meiner Dialoge aufrufe:
oSC = oMSPF.createScriptProvider(oDoc.ScriptContainer)
Nein, nicht ähnlich.

Mit meinen eigenen Worten. Beachte aber, dass ich auch kein Programmierer bin!
Dies ist der eigentliche Zugrif auf den Service.
Der Service soll einen neuen ScriptProvider erstellen, mit dem Zugriff auf die Scripts im Dokument.

Pit hat geschrieben:hier wird wohl der entsprechende Text reingepackt:
sScriptCall="vnd.sun.star.script:Standard.modAufgaben." & sAufgabe & "?language=Basic&location=document"
script = oSC.getScript(sScriptCall)
Ja. Genau dies ist der entscheidende Punkt.
Denn hier wird keine Call-Anweisung erwartet, sondern ein String.
Deshalb lasseen sich die Strings zusammenbauen:

Code: Alles auswählen

sScriptCall="vnd.sun.star.script:Standard.modAufgaben." & sAufgabe & "?language=Basic&location=document"
Die Bibliothek „ Standard“ im Dokument.
Das Modul „ modAufgaben“ in der Bibliothek „Standard“
Name der Routine im Modul „ modAufgaben“, welche aufgerufen werden soll: „sAufgabe“

Ich nehme an, dass dieser Part soviel bedeutet wie:

Code: Alles auswählen

?language=Basic&location=document
Lieber Interpreter, es handelt sich bei den Angaben um einen Basic_Code, welcher sich in diesem Dokument befindet.

Mit der nachfolgenden Zeile weiß ich auch nicht weiter.
Gemäß Xray ist dies auch ein Objekt und hätte erwartet, dass man den Inhalt von (sScriptCall)
hier irgendwo auslesen kann, aber Fehlanzeige.
Naja, muss nochmal forschen...

Code: Alles auswählen

oSC.getScript(sScriptCall)
Pit hat geschrieben:Warum sind jetzt hier drei Arrays:
script.invoke(array(), array(), array())
Das habe ich auch nur abgeschrieben und getestet.
Ich weiß „script.invoke“ führt letztendlich das zuvor angegebene Makro aus, aber die drei Arrays ???
http://ooo-site.apache.org/api/docs/com ... cript.html
Werde ich noch recherchieren.

Nach oben