Autor Beitrag
hubertus223
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 14.12.08 11:01 
Hallo an alle Delphi-Profis,

ich habe folgendes Problem.

Ich habe ein Formular auf dem ich eine SQLConnection und eine SQLQuery habe.

Wenn ich nun dieses Form in Exe umwandle (Build Project), und die Exe auf einen anderen PC überspiele, dan nwird das Programm ganz normal ausgeführt.

Sobald ich aber in der SQLConnection unter TStrings die Zugangsdaten eingebe, wird die Unit DBXMySql automatisch mit eingebunden.

Wenn ich dies nun in Exe umwandle und auf anderen PC überspiele stürzt da Programm ab mit APPCRASH in ntdll.dll

Muss ich noch irgendwelche Dateien mit überspielen? Woran könnte das liegen, dass es nur auf dem Entwickler-PC geht, sobald die DBXMySQL-Unit mit eingebunden wird.

Freue mich über alle Antworten und bedanke mich schonmal im Voraus.

MFG
HUbert
Bernhard Geyer
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 721
Erhaltene Danke: 3



BeitragVerfasst: So 14.12.08 11:27 
Welche Delphi-Version? Welche libmysql.dlls liegen vor (Version/Datum). MySQL hat schon (öfter?) die Zugriffs-DLL inkompatible geändert so das alte Programme wenn sie nicht ihre eigene DLL mitliefern (Achtung! Lizenbedingungen beachten) probleme haben.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 14.12.08 11:35 
user profile iconhubertus223 hat folgendes geschrieben Zum zitierten Posting springen:
Sobald ich aber in der SQLConnection unter TStrings die Zugangsdaten eingebe, wird die Unit DBXMySql automatisch mit eingebunden.
Eingebunden ist die Unit immer. Aber es ist klar was du meinst. ;-)

user profile iconhubertus223 hat folgendes geschrieben Zum zitierten Posting springen:
Wenn ich dies nun in Exe umwandle und auf anderen PC überspiele stürzt da Programm ab mit APPCRASH in ntdll.dll
An welcher Adresse?

user profile iconhubertus223 hat folgendes geschrieben Zum zitierten Posting springen:
Woran könnte das liegen, dass es nur auf dem Entwickler-PC geht, sobald die DBXMySQL-Unit mit eingebunden wird.
Da es sich um ein kommerzielles Produkt handelt, wäre der Hersteller eigentlich der beste Ansprechpartner.

Benutzt du MySQL Embedded? Dann musst du die entsprechende DLL auch lizensieren und mitliefern laut Produktbeschreibung.

// EDIT:
user profile iconBernhard Geyer hat folgendes geschrieben Zum zitierten Posting springen:
Welche libmysql.dlls liegen vor (Version/Datum).
Keine der normalen, laut Beschreibung werden diese nicht gebraucht, sondern lediglich die DLL von DBX for MySQL und ggf. die eine für MySQL Embedded.

// EDIT2:
Es handelt sich doch um die Unit hiervon, oder?
www.microolap.com/pr...nectivity/dbx4mysql/
hubertus223 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 14.12.08 11:49 
Wie finde ich heraus an welcher Adresse das ist?

Ich arbeite mit Delphi 2009.

Da es sich im Moment nur Programmierversuche für meinen Arbeitgeber handelt möchte ich auf weitere Kosten für Lizenzierungen und so erst mal verzichten.
Welche dll müsste ich denn da mitliefern und reicht es aus einfach die dll im verzeichnis der exe z belassen oder muss die ins windows verzeichnis kopert werden?

Mfg
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 14.12.08 12:10 
Die Frage aus meinem Edit hast du vermutlich nicht gesehen, handelt es sich um dieses Produkt?
user profile iconhubertus223 hat folgendes geschrieben Zum zitierten Posting springen:
Ich arbeite mit Delphi 2009.
Zitat:
DBX4mySQL works with Delphi 2005 Win32, Delphi 7, Delphi 6, C++ Builder 6
Falls es dieses (anscheinend etwas veraltete) Produkt ist, dann dürfte der Fehler an der Unicodeunterstützung von Delphi 2009 liegen. Strings haben dort jetzt 2 Byte pro Char und wenn das nicht berücksichtigt wird, dann funktioniert das nicht mehr.

user profile iconhubertus223 hat folgendes geschrieben Zum zitierten Posting springen:
Wie finde ich heraus an welcher Adresse das ist?
Steht da nichts weiter in der Fehlermeldung?

user profile iconhubertus223 hat folgendes geschrieben Zum zitierten Posting springen:
Welche dll müsste ich denn da mitliefern und reicht es aus einfach die dll im verzeichnis der exe z belassen oder muss die ins windows verzeichnis kopert werden?
Die DLLs müssen nur im Verzeichnis liegen. Das sind die dbx4mysql.dll und für MySQL Embedded libmysqld.dll.
hubertus223 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 14.12.08 12:16 
Die UNit heisst nur DBXMySQL nicht DBX4MySQL oder hab eich da was falsche verstanden?
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19346
Erhaltene Danke: 1754

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 14.12.08 12:23 
Ja woher ist die denn? Ich finde darunter nichts bei Google. :nixweiss:

Aber egal welche Unit, es wird bei einer älteren Unit an der Unicodeunterstützung deiner Delphiversion liegen.
hubertus223 Threadstarter
Hält's aus hier
Beiträge: 5



BeitragVerfasst: So 14.12.08 12:25 
gibt es denn andere lösungen um auf sql db im internet zugreifen zu können