OBS/Adminhilfe/Pax SQL-Export

Aus OBS Wiki
Version vom 17. Juli 2014, 10:43 Uhr von Rademacker (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „== Anleitung für die Konvertierung eines SQL-Export-Scripts auf PAX == === Einleitung === Dies ist eine Schritt-für-Schritt-Anleitung für den Umbau eines D…“)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springen Zur Suche springen
Für diese Seite wurde eine Zugriffsbeschränkung eingerichtet. Falls du diese Nachricht siehst, bist du nicht berechtigt, diese Seite einzusehen.

Anleitung für die Konvertierung eines SQL-Export-Scripts auf PAX

Einleitung

Dies ist eine Schritt-für-Schritt-Anleitung für den Umbau eines DREAM-Scripts auf ein PAX-Script für den SQL-Exporter. Der Umbau kann durch die Änderung an der Struktur leider nicht vollautomatisch erfolgen, darum ist eine manuelle Bearbeitung zwingend erforderlich.


Vorbereitung

Bevor mit der Anpassung der Scripte gestartet wird sollte eine Sicherung der alten Scripte erfolgen. Durch den den Aufruf des Menüpunktes 'Konvertierung -> SQL-Export-Scripte' im Support-Menü unter Macros werden die bisherigen Macros gesichert (Feld sq_macro_backup) und es erfolgt eine erste Vorkonvertierung die die Basisänderungen bereits vornimmt.


Validierung

Um sicherzustellen dass alle Scripte erfolgreich konvertiert wurden kann im Support-Menü unter Macros eine Überprüfung der SQL-Export-Scripts ausgeführt werden bei der alle Scripte auf Syntaxfehler untersucht werden.


Schritt-für-Schritt-Anleitung

Jede der folgenden Änderungen ist zwingend für eine korrekte Ausführung, jedoch werden nicht alle Teile in jedem Script vorhanden sein. Teilweise wird die entsprechende Änderung durch die automatische Konvertierung erfolgen und muss nicht mehr manuell geändert werden.


  • Zeile 'program XXX;' entfernen.
  • Uses-Anweisung komplett entfernen.
  • Alle Variablen vom Typ TDCScripter entfernen.
  • Das Schlüsselwort 'implementation' entfernen.
  • Methode 'FindControl' entfernen.
  • Die Variable 'oControl: TControl;' muss ersetzt werden durch 'oComponent : TComponent;'. Entsprechende Aufrufe von oControl müssen ebenfalls ersetzt werden. Diese Variable kann in mehreren Methoden vorkommen.
  • In der Methode 'ConvertResourceData' wird evtl. auf Komponenten zugegriffen. Hier muss die Komponente auf die entsprechende Klasse gecastet werden:
oComponent.Caption := ′′;

wird zu

TPanel(oComponent).Caption := ′′;
  • Die Methode 'FindControl(oForm, xxx)' muss durch 'oForm.FindComponent(xxx)' ersetzt werden.
  • Jede zurückgegebene Komponente der Methode 'FindComponent' muss bei ihrer Benutzung auf die entsprechende Klasse gecastet werden.

Beispiel vorher:

oControl := FindControl(oForm,'MaskEdit1');
if (Assigned(oControl)) then begin
  cJahr := oControl.Text;
end;

nachher:

oComponent := oForm.FindComponent('MaskEdit1');
if (Assigned(oComponent)) then begin
  cJahr := TMaskEdit(oComponent).Text;
end;
  • In der Methode 'Init_Resource' werden Komponenten definiert, hier müssen die Zeilen für die Cursorzuweisung entfernt werden (Cursor := crArrow;).
  • StartProc ersetzen von 'StartProc(oMyDC:TDCScripter; cParameter:String);' zu 'StartProc(Sender: TxForm; cParameter: String)'.
  • In der Methode 'StartProc' muss der Parameter 'Sender' in einer globalen Variable vom Typ TxForm (oParent: TxForm) gesichert werden.
  • Alle Export-Methoden (GetSqlExportStr, SetSQlExportStr, RunSQlExporter, SaveDataSQlExporter, ShowDataSQlExporter) müssen mit oParent statt mit oDC aufgerufen werden.
  • das 'end.' am Ende des Scripts muss entfernt werden.
  • Ereignisbehandlung ersetzen (siehe entsprechende Anleitung).