Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi libmysqld.dll Umsetzung (https://www.delphipraxis.net/11209-libmysqld-dll-umsetzung.html)

Ghostwalker 2. Nov 2003 09:35


libmysqld.dll Umsetzung
 
Bin grad drüber mir ne übersetzung für die libmysqld.dll zu schnitzen.

Leider hab ich ein problem mit der funktion

int mysql_server_init(int argc, char **argv, char **groups)


ich habs mal so umgesetzt

function mysql_server_init(count:integer;var para : array of string; var groups :array of string):integer; stdcall; external 'libmysqld.dll';


leider mag er es so nicht.


Weiß jemand wie das umgesetzt werden muß ?

r_kerber 2. Nov 2003 09:43

Re: libmysqld.dll Umsetzung
 
Hallo Ghostwalker,

vielleicht solltest Du es mal mit array of char versuchen. Pascal-Strings und C-Character-Felder unterscheiden sich durchaus in der internen Struktur. C-Zeichenketten enden mit 0H (hexadezimaler 0) während Pascal-Strings im ersten Byte die Länge des Strings gespeichert haben.

Duffy 2. Nov 2003 10:23

Re: libmysqld.dll Umsetzung
 
@r_kerber
Zitat:

Zitat von r_kerber
Pascal-Strings und C-Character-Felder unterscheiden sich durchaus in der internen Struktur. C-Zeichenketten enden mit 0H (hexadezimaler 0) während Pascal-Strings im ersten Byte die Länge des Strings gespeichert haben.

in Sachen Pacal-Strings schau Dir mal diesen Beitrag an.

bye
Claus

r_kerber 2. Nov 2003 10:41

Re: libmysqld.dll Umsetzung
 
Hallo Duffy,

ich gebe zu, ich habe das etwas zu einfach dargestellt. Natürlich reicht bei Huge Strings ein Byte zur Längenangabe nicht aus. Das ändert aber IMHO nichts daran, dass C-Strings anders aufgebaut sind und man diese hier Anwendung finden müssen.

Ghostwalker 2. Nov 2003 11:10

Re: libmysqld.dll Umsetzung
 
ok..Problem hat sich erledigt.

Die korrekte umsetzung:

function mysql_server_init (count:integer;args:Pointer;Groups:pointer):intege r;stdcall; external 'Libmysqld.dll';


*wenn man net weis was man übergeben soll immer nen Pointer nehmen.....gggg*

Aber ein anderes Problem hab ich. Gibt aber ein neues Posting.:)

Chewie 2. Nov 2003 11:16

Re: libmysqld.dll Umsetzung
 
Wieso nimmst du nicht Matthias Fichtners Übersetzung?

Ach so, Mist, hab wohl nicht genau gelesen. Die mysql.pas dürfte dir aber trotzdem helfen, schließlich kannst du mal kucken, wie er die Datentypen übersetzt hat.

Ghostwalker 2. Nov 2003 11:18

Re: libmysqld.dll Umsetzung
 
Weils net um den Client geht (libmysql.dll) sondern um den Server (libmysqld.dll) :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz