AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zeos ZConnection in MainApp und DLLs
Thema durchsuchen
Ansicht
Themen-Optionen

Zeos ZConnection in MainApp und DLLs

Ein Thema von Cyberaxx · begonnen am 21. Aug 2007 · letzter Beitrag vom 22. Aug 2007
Antwort Antwort
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#1

Zeos ZConnection in MainApp und DLLs

  Alt 21. Aug 2007, 08:47
Datenbank: MySQL • Version: 5 • Zugriff über: Zeos
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
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Zeos ZConnection in MainApp und DLLs

  Alt 21. Aug 2007, 08:50
Tausch du "lebende" Objekte zwischen DLL und Exe aus?

Was ist wenn du in der DLL expliziet die DB-Verbindung schließt (Hatte auch schon mal Probleme mit DB-Verbindungen die erst im Destruktor (des Hauptfensters) geschlossen wurden)?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Zeos ZConnection in MainApp und DLLs

  Alt 21. Aug 2007, 09:01
Nein ich tausche keine "lebenden Objekte" die Execute Procedure ist eigentlich alles was an der DLL
ausgeführt wird. Normal brauche ich mich bei einem Datenmodul doch nicht um soetwas zu kümmern.
Kann es aber mal eben Fix testen. Das was in der Execute Procedure zu finden ist, ist eigentlich
alles was ich an dem Datenmodul, bzw der Connection mache.

Selbst wenn ich die Connection schliesse bleibt die Fehlermeldung.
Ich raff das einfach nicht

[edit]Habe das Datenmodul komplett entfernt und auf die Form einfach nur mal eine ZConnection gesetzt
im OnClose der Form die Verbindung getrennt, der Fehler bleibt jedoch.[/edit]
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Zeos ZConnection in MainApp und DLLs

  Alt 21. Aug 2007, 09:25
Hallo,

also mit deiner globalen Variable DataModule2 bekomme ich gleich Bauschschmerzen.
Zumindestens in der DLL würde ich die als lokale Variable definieren,
und z.B. per Form1.SetDataModule setzen.


Heiko
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Zeos ZConnection in MainApp und DLLs

  Alt 21. Aug 2007, 10:21
Siehe das Edit meines letzten Postings.
Dort existiert kein Datenmodul mehr, sondern habe direkt eine Connection auf der Form.

Ich weiß nicht was daran so falsch sein sollte, die Variable des Datenmodules zu nutzen?
Ich habe sie so nicht weiter als Variable declariert.
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
Benutzerbild von Cyberaxx
Cyberaxx

Registriert seit: 15. Jul 2005
311 Beiträge
 
Delphi XE5 Professional
 
#6

Re: Zeos ZConnection in MainApp und DLLs

  Alt 22. Aug 2007, 09:26
Schande über mein Haupt...

Das Problem hat sich von alleine gelöst.
Es lag nicht an der ZConnection, etwas anderes an dem Projekt stimmte nicht und darum kam immer die Exception.
Nach einem neubau der DLL war der Fehler verschwunden.

Gruß

Daniel
Daniel
Das Aufwachen aus einem boesen Traum muss einen nicht erleichtern. Es kann einen auch erst richtig gewahr werden lassen, was man Furchtbares getraeumt hat, vielleicht sogar welcher furchtbaren Wahrheit man im Traum begegnet ist!
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz