@mkinzler:
Selbstverständlich wurde das array mit SetLength() dimensioniert; habe ich vielleicht etwas missverständlich im Quelltextschnippsel kommentiert...
@gammatester:
Du hast natürlich recht, das mit dem Type ist Quatsch (ich habe das hier nur schnell eingetippt, nicht per copy-paste aus meinem Quelltext übernommen; ich wollte nur das Wesentliche darstellen).
So wie dein Code aussieht, hätte ich mir auch vorgestellt, dass es funktionieren müßte. Warum ich in meinem Falle eine
Access-Violation bekomme, ist mir noch nicht ganz klar. Das Array ist auf jeden Fall korrekt dimensioniert, sonst würde schon der Stream.Read() fehlschlagen. Oder stimmt hier vielleicht etwas nicht:
Delphi-Quellcode:
var
DData: array of Byte; // dyn. Array
SData: array[0..255] of Byte; // stat. Array
begin
dataSize := GetDataSize(...);
SetLength(DData, dataSize);
srcFile.Read(DData[0], dataSize); // hier muß doch auch "dereferenziert" werden, wg. dyn. Array?
srcFile.Read(SData, dataSize); // hier nicht...
end;