hi leutz!
Ich versuche per
Unit "
mysql" wie folgt zu verbinden, was aber nicht klappt...
Die Funktion hab ich in eine
DLL gepackt:
Delphi-Quellcode:
function ConnectToDB(DatabaseVar:PMySQL; host:PChar): boolean;
stdcall;
var user,pass,
db:PChar;
begin
user := '
root';
pass :=
nil;
db := '
darkage';
DatabaseVar := mysql_init(
nil);
if DatabaseVar =
nil then
begin
//MessageDlg('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren',mtError,[mbOK],0);
result := false;
Exit;
end;
// anschließend wird die Verbindung hergestellt
if mysql_real_connect(DatabaseVar, host, user, pass,
db, 3306,
nil, 0) =
nil then
begin
// MessageDlg('Die Verbindung konnte nicht hergestellt werden.'+#10#13#10#13+' Ursache: ' + mysql_error(_myCon)+#10#13#10#13+'Es kann sein, dass der DarkAge-Server zur Zeit nicht online ist. Meist ist das so, wenn Wartungsarbeiten im Laufen sind.'+#10#13+'Falls dieses Problem jedoch auftritt, wenn dies nicht der Fall ist und auch keine entsprechene Nachricht der Serveradministratoren gegeben wurde, dann kontaktieren Sie diesen, um Ihren Fehler behen zu können.'+#10#13+'Sinnvoll ist daher auch, im entsprechenden Forum zu suchen, ob andere Spieler dieselben Probleme haben.',mtError,[mbOK],0);
result := false;
Exit;
end else begin
// Die Verbindung steht!
result := true;
end;
end;
Wenn ich die Funktion ausführe im Programm (Parameter host = '192.168.100.222', also meine
IP), dann will er nit.
MySQL-Server läuft,
DB steht, aber nichts....
//EDIT:
Mmmh...
Also:
Var host = '192.168.100.222';
Wenn ich dann so mach:
ConnectToDB(_myCon,host) --- keine Verbindung
ConnectToDB(_myCon,'127.0.0.1') --- klappt...
ConnectToDB(_myCon,'
localhost') --- klappt...
ABER WARUM???