RagTime-Connect Abfragefixierungen mit einem AppleScript lösen

Ein RagTime-Dokument ist via RagTime-Connect mit einer SQL-Datenbank verknüpft. In der RTC-Komponente sind drei Abfragen definiert. Ich möchte ins Dokument einen Knopf einbauen, mit dem nach dem Öffnen des Dokumentes alle Abfragefixierungen gemeinsam gelöst werden. Ich habe mit dem Skripteditor ein Skript aufgezeichnet, das dort auch den Syntax-Test besteht. Wenn ich dieses in das Skriptfenster des RagTime-Dokumentes übertrage mache ich zwei Beobachtungen:
1. Beim Einsetzen des Skripts ins RagTime-Skriptfenster werden gewisse Skripttextstellen gar nicht übernommen.
2. Selbst wenn ich sie wieder manuell einfüge werden beim anschliessenden Syntax-Text diverse Fehler gemeldet.

Ich kann das im Skripteditor aufgezeichnete Skript hier nicht einfügen, weil darin vorkommende Zeichen offenbar mit der "Forumsprache" nicht kompatibel sind. Ich habe das Skript als Text in ein RagTime-Dokument "RTC-Skript.rtd" kopiert und im Public Folder meiner iDisk abgelegt (user=tomkaegi, kein Passwort). Die Kommentare im Skript beschreiben, bei welchem Schritt der Befehl aufgezeichnet wurde und was der Befehl deshalb eigentlich machen sollte.

Ich wäre froh, wenn mir ein Skript-Guru helfen könnte, das Skript funktionsfähig zu machen. Vielleicht bin ich auf einen Bug der "Recordability" von RagTime gestossen und dieser ist der Grund, weshalb das Skript nicht funktioniert.

Danke im Voraus!
Thomas

Re: RagTime-Connect Abfragefixierungen mit einem AppleScript lö

#7636 On 20 April, 2008 11:39 Detlef Schulz said,

Hallo Thomas,

ich habe mir das gerade mal angesehen.

Also im Skripteditor und im Skript Debugger wird das Öffnen einer ODBC-
Komponente im Inventar bei mir unter Leopard (AppleScript 2.0, sollte
auch unbedingt unter Tiger getestet werden, AS 2.0 hat einiges
geändert!) folgendermaßen aufgezeichnet:

open «class » "geographieDEU via ODBC" of document 1

Auffällig hier die vier Leerstellen nach class vor der schließenden
Klammer. Genau wie in deinem Beispieldokument. Mit anderen Worten die
Klasse hat hier keinen Namen!!!
Vergessen? Fehler im Design?

Ohne Klassenname, kann man diese Zeile dann natürlich nicht ausführen,
mal davon abgesehen, dass die Klasse auch nicht im
Funktionsverzeichnis von RagTime vorkommt, sonst würde sie nicht als
Raw-Event in «» stehen.

Öffne ich eine Abfrage in der ODBC-Komponente erhalten ich folgende
Aufzeichnung.
open «class aCeS» "Abfrage 1" of document 1

Genauso wie bei Dir. Das sieht dann auch schon viel besser aus,
Klassenname ist vorhanden, zwar ebenfalls unübersetzt als Raw-Event in
spitzen Klammern, aber dank des Klassennamens lässt sich dieser Teil
alleine tatsächlich auch ausführen.

Das sieht für mich irgendwie unfertig aus:
1. Fehlender Klassenname für eine ODBC-Komponente im Inventar
2. Fehlendes Funktionsverzeichnis für Connect.

Schaut man sich das Funktionsverzeichnis von Ragtime 6 im Skripteditor
an, so fehlt darin eine Connect-Suite, zumindest bei dem von mir
getesteten Connect-Basic.

Mit anderen Worten, Connect scheint kein Funktionsverzeichnis
beizusteuern.
Das sich trotzdem Aktionen davon aufzeichnen lassen, zeigt aber
zumindest, das schon bei der Entwicklung auf Skriptfähigkeit geachtet
wurde, dann aber kein Funktionsverzeichnis angelegt wurde. Oder es
funktioniert nur nicht unter Leopard.

Hoffe Dir weiter geholfen zu haben.

Gruß,

Detlef

> Ein RagTime-Dokument ist via RagTime-Connect mit einer SQL-Datenbank
> verknüpft. In der RTC-Komponente sind drei Abfragen definiert. Ich
> möchte ins Dokument einen Knopf einbauen, mit dem nach dem Öffnen
> des Dokumentes alle Abfragefixierungen gemeinsam gelöst werden. Ich
> habe mit dem Skripteditor ein Skript aufgezeichnet, das dort auch
> den Syntax-Test besteht. Wenn ich dieses in das Skriptfenster des
> RagTime-Dokumentes übertrage mache ich zwei Beobachtungen:
> 1. Beim Einsetzen des Skripts ins RagTime-Skriptfenster werden
> gewisse Skripttextstellen gar nicht übernommen.
> 2. Selbst wenn ich sie wieder manuell einfüge werden beim
> anschliessenden Syntax-Text diverse Fehler gemeldet.
>
> Ich kann das im Skripteditor aufgezeichnete Skript hier nicht
> einfügen, weil darin vorkommende Zeichen offenbar mit der
> "Forumsprache" nicht kompatibel sind. Ich habe das Skript als Text
> in ein RagTime-Dokument "RTC-Skript.rtd" kopiert und im Public
> Folder meiner iDisk abgelegt (user=tomkaegi, kein Passwort). Die
> Kommentare im Skript beschreiben, bei welchem Schritt der Befehl
> aufgezeichnet wurde und was der Befehl deshalb eigentlich machen
> sollte.
>
> Ich wäre froh, wenn mir ein Skript-Guru helfen könnte, das Skript
> funktionsfähig zu machen. Vielleicht bin ich auf einen Bug der
> "Recordability" von RagTime gestossen und dieser ist der Grund,
> weshalb das Skript nicht funktioniert.
>
> Danke im Voraus!
> Thomas
>

Re: RagTime-Connect Abfragefixierungen mit einem AppleScript lö

#7637 On 20 April, 2008 11:56 Thomas Kaegi said,

Hallo Detlef

Danke für dein Feedback. Du bestätigst meine Befürchtung, dass RagTime Connect nicht 100% AppleScript-tauglich ist. Wirklich weiterhelfen kannst du mir somit nicht.

Was mich erstaunt ist, dass du von RagTime-Connect unter Leopard sprichst. Gemäss Angabe von RagTime ist RagTime Connect nicht Leopard-kompatibel. Ich selbst fahre noch nicht mit Leopard. Aber Benedikt Quirmbach hat mir gegenüber die Aussage von RagTime bestätigt: Es lassen sich unter Leopard gar keine RagTime-Connect-Komponenten anlegen. Vielleicht funktionieren jedoch unter OS X 10.4 angelegte RagTime-Dokumente mit Connect-Komponenten auch unter Leopard. Das wäre ja denkbar.

Ich realisiere, dass ich in meiner ursprünglichen Frage vergessen habe, meine Konfiguration anzugeben. Hier ist sie:
Mac OS X 10.4.11, RagTime 6.0.2 (1632), Mac Book Pro (Intel), RagTime Connect Basic

Gruss
Thomas

Re: RagTime-Connect Abfragefixierungen mit einem AppleScript lö

#7638 On 20 April, 2008 12:14 Detlef Schulz said,

Am 20.04.2008 um 13:01 schrieb Thomas Kaegi:

> Ich selbst fahre noch nicht mit Leopard. Aber Benedikt Quirmbach hat
> mir gegenüber die Aussage von RagTime bestätigt: Es lassen sich
> unter Leopard gar keine RagTime-Connect-Komponenten anlegen.
> Vielleicht funktionieren jedoch unter OS X 10.4 angelegte RagTime-
> Dokumente mit Connect-Komponenten auch unter Leopard. Das wäre ja
> denkbar.

Aha, ich hatte einfach eine der Beispieldateien die mit Connect
mitkommen verwendet, da sind ja schon Abfragen drin. Und die Aktionen
beim Öffnen habe ich aufgezeichnet. Das ging.
Bisher hatte ich noch keine Notwendigkeit Connect unter meinem neuen
Leo zum Einsatz zu bringen, so bin ich zum Glück noch nicht da
reingelaufen. ;-)

Detlef