![]() |
AdoConnection in DLL
Moin,
ich möchte eine AdoConnection in einer DLL verwenden. Wenn ich ein DatenModul an die DLL anbinde und über
Delphi-Quellcode:
aufrufe, wird die Verbindung nicht hergestellt.OpenDatabase:=true; try ADOConnection1.Open; except OpenDatabase:=false; end; Was mache ich falsch bzw. kann ich die AdoConnection zur Laufzeit nur über die DLL erstellen und verwenden? Danke für eure Hilfe :D |
AW: AdoConnection in DLL
Du das Verschlucken der Exception nimmst du dir jede Möglichkeit die Fehlermeldung zu Gesicht zu bekommen:
Delphi-Quellcode:
Lass das try...except einfach weg.
OpenDatabase:=true;
try ADOConnection1.Open; except OpenDatabase:=false; // niemand wird je erfahren was in der Message der Exception gestanden hat end; |
AW: AdoConnection in DLL
Achso ja so hab ich das davor versucht :D
'Zugriffsverletzung bei Adresse 004D10BC in Modul 'ISAPI_DLL.dll'. Lesen von Adresse 000000058.' Danach hab ich auch schon geguckt, hab aber keine Lösung gefunden. |
AW: AdoConnection in DLL
Sicherlich ist deine ADOConnection1 = NIL, d.h. es fehlt ein create.
|
AW: AdoConnection in DLL
Also wenn ich vor der Verbindung ein
Delphi-Quellcode:
schreibe kommt die gleiche Fehlermeldung schon beim create.
AdoConnection1.Create(self);
Im Create Ereignis des DataModuls wird
Delphi-Quellcode:
gar nicht erst aufgerufen bzw die Exception kommt wieder genau wie vorher beim Öffnen der Connection.
AdoConnection1.Create(self);
|
AW: AdoConnection in DLL
Ein Konstruktor ist eine Klassenmethode, es muss
Delphi-Quellcode:
heissen!
AdoConnection1 := TAdoConnection.Create(self);
|
AW: AdoConnection in DLL
Ah OK Danke jetzt sagt er mir beim Erstellen der ADO Connection 'CoInitialize wurde nicht aufgerufen'.
Ich habe schon
Delphi-Quellcode:
direkt vor dem Create und im Create Ereignis des DataModuls ausprobiert.
OleInitialize(nil);
Edit: Beim Aufrufen direkt vor der Erstellung der ADO Connection kommt wieder die alte Fehlermeldung: 'Zugriffsverletzung bei Adresse 004F8B00 in Modul 'test.dll'. Schreiben von Adresse 0000000058.' |
AW: AdoConnection in DLL
Du sagst, Du benutzt ein DataModul, evtl. solltest du dieses createn und nicht nur die ADOConnection.
|
AW: AdoConnection in DLL
Kannst du mir noch sagen wie und wo ich das Createn soll? :stupid:
|
AW: AdoConnection in DLL
So in etwa:
Delphi-Quellcode:
unit DMMyDataModule;
interface ... type TMyDataModule = class(TDataModule) ... end; var MyDataModule: TMyDataModule; implementation ... initialization MyDataModule := TMyDataModule.Create(nil); finalization MyDataModule.Free; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:56 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-2025 by Thomas Breitkreuz