AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Zugriffsverletzung bei Met Readbuffer in idTCPServer.Execute
Thema durchsuchen
Ansicht
Themen-Optionen

Zugriffsverletzung bei Met Readbuffer in idTCPServer.Execute

Ein Thema von Chris1986 · begonnen am 18. Nov 2003 · letzter Beitrag vom 19. Nov 2003
Antwort Antwort
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, 22: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
Kamil

Registriert seit: 16. Aug 2002
178 Beiträge
 
#2

Re: Zugriffsverletzung bei Met Readbuffer in idTCPServer.Exe

  Alt 19. Nov 2003, 14:43
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz