Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
Delphi 7 Enterprise
|
Zugriffsverletzung bei Met Readbuffer in idTCPServer.Execute
18. Nov 2003, 23:02
Hi,
ich habe eine Indy TCP-Server Komponente in ein Datenmodul gepackt und versuche den Readbuffer der Komponente in der Execute-Methode auszulesen. Komischerweise erhalte ich dabei immer eine Zugriffsverletzung. Dabei hat genau dieser Quelltext in anderen Programmen auch schon funktioniert. Liegt das vielleicht daran, das die Komponente jetzt in einem Datenmodul und nicht in einer Form ist?
Hier ist der Quelltext:
Delphi-Quellcode:
type
TCommBlock = record
Command,
Nickname,
Name,
Vorname,
Email,
Password,
Host: string;
Port,
UIN: integer;
end;
procedure TVerbindungsData.TCPCommandServerExecute(AThread: TIdPeerThread);
var Commblock: TCommblock;
ActClient: PClient;
begin
if not AThread.Terminated and AThread.Connection.Connected
then
begin
AThread.Connection.ReadBuffer(Commblock, Sizeof (Commblock)); //<-- Hier tritt der Fehler auf
ActClient := PClient(AThread.Data);
ActClient.Lastaction := now;
if Commblock.Command = 'LOGIN'
then if DatenbankData.Login(Commblock)= OK
then AThread.Connection.WriteBuffer(Commblock, SizeOf(CommBlock), True);
end;
end;
Kann mir jemand helfen?
MfG
Christian
Es gibt nur 10 Typen von Menschen auf der Welt:
Die, die Binärcode verstehen und die, die es nicht tun . . .
|
|
Zitat
|