| Autor |
Beitrag |
hubertus223
Hält's aus hier
Beiträge: 5
|
Verfasst: 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
      
Beiträge: 721
Erhaltene Danke: 3
|
Verfasst: 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
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 14.12.08 11:35
hubertus223 hat folgendes geschrieben : | | 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.
hubertus223 hat folgendes geschrieben : | | 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?
hubertus223 hat folgendes geschrieben : | | 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:
Bernhard Geyer hat folgendes geschrieben : | | 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 
Hält's aus hier
Beiträge: 5
|
Verfasst: 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
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 14.12.08 12:10
Die Frage aus meinem Edit hast du vermutlich nicht gesehen, handelt es sich um dieses Produkt? hubertus223 hat folgendes geschrieben : | | 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.
hubertus223 hat folgendes geschrieben : | | Wie finde ich heraus an welcher Adresse das ist? |
Steht da nichts weiter in der Fehlermeldung?
hubertus223 hat folgendes geschrieben : | | 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 
Hält's aus hier
Beiträge: 5
|
Verfasst: So 14.12.08 12:16
Die UNit heisst nur DBXMySQL nicht DBX4MySQL oder hab eich da was falsche verstanden?
|
|
jaenicke
      
Beiträge: 19346
Erhaltene Danke: 1754
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 14.12.08 12:23
Ja woher ist die denn? Ich finde darunter nichts bei Google.
Aber egal welche Unit, es wird bei einer älteren Unit an der Unicodeunterstützung deiner Delphiversion liegen.
|
|
hubertus223 
Hält's aus hier
Beiträge: 5
|
Verfasst: So 14.12.08 12:25
gibt es denn andere lösungen um auf sql db im internet zugreifen zu können
|
|