Einzelnen Beitrag anzeigen

Olli
(Gast)

n/a Beiträge
 
#10

Re: Warum verursacht diese Zeile eine AV?

  Alt 15. Aug 2005, 22:40
Zitat von Daniel G:
Delphi-Quellcode:
const
   READ_ATTRIBUTE_BUFFER_SIZE = 512;
var
AttrOutCmd : Byte = BYTE(sizeof(TSENDCMDOUTPARAMS) + (READ_ATTRIBUTE_BUFFER_SIZE - 1));
Nope, eher:
Delphi-Quellcode:
const
   READ_ATTRIBUTE_BUFFER_SIZE = 512;
var
AttrOutCmd : array[0.. BYTE(sizeof(TSENDCMDOUTPARAMS) + (READ_ATTRIBUTE_BUFFER_SIZE - 1))]of Byte;
Willst du genau wissen was du gemacht hast? Ein Byte kann Werte von 0..255 halten. 512 ist 0 + 512 ist dementsprechend wieder 0 in den Grenzen eines Bytes. Daher enthielt dein Byte den Wert sizeof(TSENDCMDOUTPARAMS)-1 oder so ...
  Mit Zitat antworten Zitat