Einzelnen Beitrag anzeigen

Chris1986

Registriert seit: 17. Jul 2003
Ort: Aachen
350 Beiträge
 
Delphi 7 Enterprise
 
#1

Zugriffsverletzung bei Met Readbuffer in idTCPServer.Execute

  Alt 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 . . .
  Mit Zitat antworten Zitat