Entwickler-Ecke
Datenbanken - DBXMySql Unit führt zu Absturz- Bitte um Hilfe
hubertus223 - So 14.12.08 11:01
Titel: DBXMySql Unit führt zu Absturz- Bitte um Hilfe
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 - 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 - So 14.12.08 11:35
Titel: Re: DBXMySql Unit führt zu Absturz- Bitte um Hilfe
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?
http://www.microolap.com/products/connectivity/dbx4mysql/
hubertus223 - 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 - 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 - So 14.12.08 12:16
Die UNit heisst nur DBXMySQL nicht DBX4MySQL oder hab eich da was falsche verstanden?
jaenicke - 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 - So 14.12.08 12:25
gibt es denn andere lösungen um auf sql db im internet zugreifen zu können
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!