Thema: Delphi MySQL-Header

Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

AW: MySQL-Header

  Alt 2. Aug 2010, 21:37
Es läuft endlich

anscheinend muß man urplötzlich

mysql_server_init/mysql_library_init und mysql_thread_init aufrufen

wobei angeglich das Server_Init doch nur für den Embedded-Server nötig sein sollte und irgendwie läßt dieses sich auch nicht parameterlos aufrufen, so wie man es überall sieht.

Ansonsten soll mysql_server_init eigentlich (laut Dokumentation) intern von mysql_init aufgerufen werden, wenn es noch nicht wurde ... schon komisch das alles.

Wenn ich es parameterlos versuche, so wie z.B. hier
Code:
(mysql_library_init(0, NULL, NULL))
Quelle: http://dev.mysql.com/doc/refman/5.5/...rary-init.html
dann läuft dieses in eine Assert-Exception, ala Parameter erwartet


im Anhang 3 Versionen, welche nun endlich lauffähig sind
- die normalen Header, wie man sie auf mysql.com findet (statisch verlinkt)
- dann alles in Klassen (Records) verpackt, statisch verlinkt und Vieles als direkte Verbindung von der Record-Methode zur DLL-Funktion
- und dann nochmal alles komplett mit UTF8Strings/AnsiStrings dynamisch verlinkt und ebenfalls mit möglichst direkten Verknüpfungen.

> bei Input-Parametern als Ansi/UTF8 wird direkt weitergeleitet (das ist intern ja kompatibel zu PAnsiChar)
> bei Ausgabeparametern und bei Results als Ansi/UTF8 wurde nur noch eine Kopieroperation PChar->String eingefügt.

die nötigen libmysql(d).dll's sind oben ja schonmal verlinkt

und jetzt muß ich nur noch rausbekommen, was beim Embedded-Server schiefläuft ... Initialisieren läßt er sich aber schonmal

PS: sind hier C++-Profies?
Aktuell hab ich nur den Embedded-Server als DLL, aber man kann ihn auch direkt in die EXE verlinken ... leider nur bei C++.

Drum wäre die Frage: Könnte man das eigentlich auch irgendwie als OBJ kompilieren und dann doch direkt einbinden?
(so wie z.B. die ZLib)

Man benötigt ja eigentlich nur den "MySQL Community Server" und linke/kompiliere dann den Code statt gegen die mysql.h gegen die mysqld.h (oder irgendwie so).

Und bevor nochmal einer meint, das würde gegen die MySQL-Lizenzpolitik verstoßen:
die nutzen es auch > http://www.mysql.com/customers/embedded/
Angehängte Dateien
Dateityp: 7z MySQL.7z (43,3 KB, 6x aufgerufen)
$2B or not $2B

Geändert von himitsu ( 2. Aug 2010 um 21:48 Uhr)
  Mit Zitat antworten Zitat