Hallo miteinander,
ich habe hier ein Problem das mich jetzt doch schon längere Zeit beschäftigt.
Ich versuche über die ZeosLib, die ich als Package im Verzeichnis meiner Anwendung liegen habe, eine Connection zu einer Firebird Datenbank aufzubauen. Doch so weit kommt es immer nicht. Deshalb habe ich das Thema hier rein gepackt und nich zu den Datenbanken.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| procedure TForm2.lesen(); var Path: String; Connection: TComponent;
begin getDir(0,Path); PackageModule := LoadPackage(''+Path+'\ZComponent110.bpl'); if PackageModule = 0 then raise Exception.Create('Das laden von ZComponent.bpl hat nicht geklappt!'); begin AClass := GetClass('TZConnection'); if AClass = nil then raise Exception.Create('Das laden von ZConnection hat nicht geklappt!'); Connection := TComponentClass(AClass).Create(Application); Connection.Database:='Database.FDB' end
end; |
Das ist meine Procedure, die ich geschrieben habe, ansich ja nichts kompliziertes.
Und jetzt mal dazu was alles passiert und vorallem was nicht!
- Er läd das Package und die Klasse TZConnection scheint er auch zu finden.
- Er meckert auch nicht beim erzeugen, also bei ->
"Connection := ZComponentClass(AClass).Create(Application);".
- Aber wenn ich die Property "Database" (oben rot) versuche zu setzen, kann er sie
nicht erkennen.
Jetzt zu den Rahmenbedingungen meine Programms.
Im Package der Zeoslib ist bei TZConnection die"initialize"-Procedure wie folgt geschrieben
Delphi-Quelltext
1: 2:
| initialization RegisterClass(TZConnection); |
In meiner eigenen Unit sind die Variablen:
Delphi-Quelltext
1: 2:
| PackageModule: HModule; AClass: TPersistentClass |
;
weiter oben schon deklariert worden, stehen der procedure also uneingeschränkt zur Verfügung!
Außerdem sind die Properties von ZConnection der ZeosLib alle Public, also müsste das auch kein Problem darstellen.
Im Ereignisprotokolls des Compilers kann ich sehen das die Packages geladen werden,
und AClass hat auch den Wert bzw die Klasse ZConnection.
Ich hatte das auch durch verschiedene Messages, die ich mir anzeigen lassen hab versucht nachzuprüfen und das sah alles eigenlich recht ordentlich aus.
So, ich denke das reicht erst mal, sonst habt ihr ja nichts mehr zu schreiben
Würde mich über eine Anwort mit guten Tips freuen.
Danke schon ma im Voraus, bis dann
Tschö
Moderiert von
matze: Delphi-Tags hinzugefügt