Hallo erstmal
ich hoffe ihr könnt mir bei meinem Problem weiterhelfen. Hab schon allerhand gegoogelt und auch hier im Forum gesucht, leider ohne Erfolg. Ich habe eine Klasse geschrieben die über ein Datenbankformular auf eine MS-
Access 200 oder 2003 Datenbank zugreifen soll um Werte auszulesen. Das ganze hat den Zweck einer anderen Applikation mit
DLL Schnittstelle die Möglichkeit zu geben Double Werte aus der Datenbank zu holen.
Leider stürzt die
DLL immer in dem Datenbankformular in der
Code:
// Standardkonstruktor
// : Öffnet die Datenbankverbindung
procedure TiSIM_Database.DataModuleCreate(Sender: TObject);
Var
DatabaseFile: String;
begin
changeDebugMode(0);
DatabaseFile := ReadFromRegistry(
HKEY_CURRENT_USER,
'SOFTWARE\
ODBC\
ODBC.INI\iSIM',
'DBQ');
if Trim(DatabaseFile) = '' then
begin
MessageDlg('Benutzerspezifischer Datenbankalias "iSIM" nicht vorhanden!',
mtError, [mbOK], 0);
Abort;
end;
if Not SysUtils.FileExists(DatabaseFile) then
begin
MessageDlg('Datenbankdatei im Alias iSIM nicht korrekt!' + #13#10 +
'"' + DatabaseFile + '"',
mtError, [mbOK], 0);
Abort;
end;
// Hier kommt der Fehler !!
adoDatabaseConnection.Open;
end;
ab und ich kann den Fehler nicht finden. Wenn ich meine Units zu einer "normalen" Win-Applikation kompiliere funktioniert alles tadellos. Habe schon beim Initialisieren/Finalisieren der
DLL OleInitialize und ComInitialize aufgerufen, brachte jedoch keine Verbesserung des ganzen.
Im Anhang ist die Datei des
DLL-Projektes und das Datenbankformular. Ich hoffe jemand von euch weiss einen guten Rat da ich schon seit Tagen an diesem Problem knabbere.
Danke schonmal für jedwede Hilfe.