Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Fehler beim Beschreiben von Byte Array (https://www.delphipraxis.net/190025-fehler-beim-beschreiben-von-byte-array.html)

Grizu 22. Aug 2016 20:56

Fehler beim Beschreiben von Byte Array
 
Hallo,

ich möchte einzelne Bytes in einem Array beschreiben, das funktioniert aber nicht wirklich. Er bricht ab und wirft dann folgende Exception:

Zugriffsverletzung bei Adresse 008E357 in Modul......Schreiben von Adresse 00000000
Ich kann zwar in TBuffer ein bestimmtes Byte lesen.
Aber in TBuff nicht schreiben.....

Wer kann mir da weiterhelfen?


Delphi-Quellcode:
var
  LLine : String;
  b : Byte;
  a, i, i1 : integer;
  TBuffer, TBuff : TiDBytes;

Begin
if rdt_server.active then  begin
 try
    AContext.Connection.IOHandler.ReadBytes(TBuffer, -1, False);
    //i := AContext.Connection.IOHandler.RecvBufferSize;
    i := SizeOf(TBuffer);
    a := 0;
    i1 := 0;
    edit1.Text := inttostr(i);
    while i > 1 do begin
     b := TBuffer[i1];
     edit2.Text := inttostr(b);
      if b <> 3 then begin
      edit3.Text := 'XXXXXXXXX';
        TBuff[i1] := b;  // HIER BRICHT ER AB!!
        edit3.Text := 'AAAAAAAAA';
        i1 := i1 + 1;
        i := i - 1;
        a:= a + 1;
      end;
      if b = 3 then begin

         LLine := IdGlobal.BytesToString(TBuff, 0, a, nil);
         mbo_rdt_rec.Lines.Add(LLine);
         pnl_rdt_last_record.Caption := LLine;

      end;

    end;

Grizu 22. Aug 2016 21:39

AW: Fehler beim Beschreiben von Byte Array
 
Habs schon selber gefunden

Luckie 22. Aug 2016 23:57

AW: Fehler beim Beschreiben von Byte Array
 
Verrätst du uns auch woran es lag?

mensch72 23. Aug 2016 08:22

AW: Fehler beim Beschreiben von Byte Array
 
nebenbei:

"TBuffer, TBuff : TiDBytes;"
... besser die Variablen ohne "T" am Anfang... Alles was mit "T" beginnt sind in Delphi (Object)Typen und das Risiko ist gross, das es TBuffer oder TBuff auch als Klasse irgendwo gibt


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:53 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