Jedenfalls nicht, wenn's dann knallt.
Wenn dein Programm für 5.0 geschrieben ist (also Queries/Statements dafür verwendet, dann knallt es auch, wenn man ihm eine 4.1-
DLL unterschiebt
Die Server sind hoffentlich abwärts kompatibel, so daß man falls dein Programm für 4.1 erstellt wurde dennoch mit einer 4.1-
DLL (Client) auf 'nen 5.5er Server zugreifen kann, anstatt deinem Programm auch noch einen 5.5er Clienten unterzuschieben und zu hoffen, daß dieser auch läuft. PS: einige APIs wurden ja geändert und selbst wenn sich diese
Unit anpaßt ... sie kennt nur das was sie kennt und es ist somit (aktuell) eh nicht möglich ihr z.B. 'nen 6.0-Clienten unterzuschieben.
Man muß also bei beiden Libs einen passenden Clienten verwenden (nur daß bei mir halt Weniger, bzw. nur Ausgewähltere passen)
Delphi-Quellcode:
TMySQLx = ...;
TMySQL = ^RMySQL;
TMyResult = ^RMyResult;
TMyField = ^RMyField;
TMyRow = ^RMyRow;
TMyRows = ^RMyRows;
TMyStatement = ^RMyStatement;
TMyBinding = ^RMyBinding;
TMyBindBuffer = ^RMyBindBuffer;
Nur 2 "Klassen" gingen bei mir nicht, da ich die Funktionen direkt in die, von ihnen für den Zugriff genutzten, Record integriert hab.
Delphi-Quellcode:
// statt
function mysql_ssl_set(_mysql: PMYSQL; key, cert, ca, capath, cipher: PAnsiChar): longint; stdcall;
// ^^^^^^^^^^^^^^^
type
// so
TMySQL = ^RMySQL;
RMySQL = record
function mysql_ssl_set(key, cert, ca, capath, cipher: PAnsiChar): longint; stdcall;
end
// wobei eigentlich ja so
RMySQL = record
function mysql_ssl_set(key, cert, ca, capath, cipher: AnsiString): longint; stdcall;
end;
Txxx ist also eigentlich ein Pxxx und das Rxxx ein Txxx
weiß noch nicht, ob ich das wieder ändere, aber ich dachte mir, daß Txxx (statt Pxxx) mehr an eine Klasse erinnert.
Aber da ich eh noch nicht weiß, was ich mit der Klasse TMySQLx (die statischen Funktionen, welche mal in RMySQL drin waren) mach, könnte es wohl doch so sein, daß ich es noch tausche und die statischen Funktionen wieder in den anderen Record verschiebe.
In deinem Fall sind also auch nur TMySQL, TMyResult und TMyRow, welche du benötigst,
bzw. zusätzlich noch TMyStatement und TMyBinding für die prepared Statements.