![]() |
Zugriffsverletzung bei Met Readbuffer in idTCPServer.Execute
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:
Kann mir jemand helfen?
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; MfG Christian |
Re: Zugriffsverletzung bei Met Readbuffer in idTCPServer.Exe
Du solltest deinen TCommBlock anders definieren:
z.B.
Delphi-Quellcode:
type
TCommBlock = packed record Command: string[50]; Nickname: string[30]; Name: string[30]; Vorname: string[30]; Email: string[50]; Password: string[30]; Host: string[40]; Port, UIN: integer; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz