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
                        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
                        Delphi-Quelltext                    
           	 										| 1:2:
 
 | initializationRegisterClass(TZConnection);
 | 
		
	  
In meiner eigenen Unit sind die Variablen:
		                     
             Delphi-Quelltext
                        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
matze: Delphi-Tags hinzugefügt