Hallo,
hat jemand von eucht schon einmal Erfahrungen gesammelt mit Zeos Komponenten und DLLs?
Ich habe das Problem, das ich beim schliessen der
DLL bzw. dem Freigeben des Datenmodules/ZConnection eine
Exception bekomme.
Zitat:
---------------------------
Project1
---------------------------
Zugriffsverletzung bei Adresse 00FC2FEA. Schreiben von Adresse 00000001.
---------------------------
OK
---------------------------
In meiner MainApp nutze ich ein Datenmodul mit einer ZConnection drauf. Ich kann auch auf die Datenbank zugreifen.
Starte ich jetzt eine
DLL, so funktioniert dies auch noch, wenn die
DLL als Application gestartet ist, kann ich mit
beiden auf die Datenbank zugreifen. Starte ich die
DLL als ShowModal, so klappt dies auch noch.
Sobald ich aber die
DLL schliesse kommt obengenannte
Exception. In meiner MainApp, kann ich nach weg klicken der
Exception jedoch weiter mit der Datenbank arbeiten und auch ohne Probleme die
DLL wieder aufrufen und dort auch
wieder auf die
DB zugreifen.
Nutze das auch mit
MSSQL, dort geht dies nur wenn ich über den
ODBC Treiber gehe. Dies will ich bei
MySQL allerdings
vermeiden.
Habe ich dabei etwas falsch gemacht, oder können die DLLs das vllt. nicht oder gar die Komponente?
Jede
DLL sowie MainApp greifen auf das selbe Datenmodul zurück.
Als ShowModal
Delphi-Quellcode:
procedure Execute; stdcall;
begin
DataModule2 := TDataModule2.Create(nil);
Form2 := TForm2.Create(Form2);
try
Form2.ShowModal;
finally
Form2.Free;
DataModule2.Free;
end;
end;
Als Application
Delphi-Quellcode:
procedure Execute; stdcall;
begin
DataModule2 := TDataModule2.Create(nil);
Application.Initialize;
Application.CreateForm(TForm1, Form1);
//Application.CreateForm(TDataModule2, DataModule2);
Application.Run;
DataModule2.Free;
end;
Weiß hier jemand evtl. eine Lösung?
Gruß
Daniel