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
 
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, 09: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
 


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 01:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz