Ausgangsproblem war die Frage nach dem Konzept für einen Freeware-Chat, siehe Ursprungsthread:
www.delphi-forum.de/....php?p=489644#489644
Um die Verwirrung nicht völlig komplett zu machen, habe ich dann diese Frage zu dem Tutorial von Luckie bezüglich MySQL und Delphi (
www.delphipraxis.net...ysql+mit+delphi.html) ausgelagert:
Damit habe ich mein Chatprogramm quasi parallel zur PHP-Version weiterentwickelt.
Das funktioniert auch soweit ganz gut, der Server kann sich in die Datenbank eintragen und die Clients können sich einloggen.
Den einzigen Fehler erhalte ich beim Runterfahren des Servers, d. h. den Datensatz mit DELETE zu löschen...
Hier mal etwas Code:
Die Funktion, die den Server aus der Datenbank löscht...
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15:
| function TfrmMain.DeleteRecord(ID: String): Boolean; var ErrorCode: Integer; query: string; begin ErrorCode := mysql_select_db(MySQL, PChar(DBNAME)); if ErrorCode = 0 then begin query := 'DELETE FROM Chat WHERE Ip=' + ID; log(query); ErrorCode := mysql_real_query(MySQL, PChar(query), length(query)); end; result := ErrorCode = 0; end; |
Und hier der Aufruf im Programm.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| try if DeleteRecord(IntP) then begin ShowMessage('Server is offline'); Memo1.Lines.Add('Server is offline since ' + TimeToStr(Time) + ' on ' + DateToStr(Date)); end else log(mysql_error(MySQL)); LogItOut; except on E: Exception do begin showmessage(E.Message); Memo1.Lines.Add(E.Message); end; end; |
IntP ist dabei die beim Anmelden an die Datenbank weitergereichte IP.
Da kommt dann leider nur eine Fehlermeldung a la 'Query abgebrochen, Datensatz konnte nicht gelöscht werden.'
Falls sich jemand mit diesem Tutorial schon mal beschäftigt hat, wäre ich für etwas Hilfe dankbar...