Online
Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.453 Beiträge
Delphi 12 Athens
|
AW: Array of Integer und crash
19. Mär 2017, 23:47
Das sieht aber immer noch nicht so aus, wie ich das gezeigt hatte:
Delphi-Quellcode:
var
p: Pointer;
//###############
// Bytearray dimensionieren
p := @PropItem;
GetMem(p, PropSize);
SetLength(Prop, (PropItem.length - 1));
CopyMemory(@Prop[0], @PropItem.value, PropItem.length);
FreeMem(p);
So sollte es auch mit dem Prop-Array gehen:
Delphi-Quellcode:
PropSize: UINT;
PropItem: PPropertyItem; // dynamischer Pointer auf Record, deswegen PPropertyItem und nicht TPropertyItem
if GDIP_GetPropertyItemSize(InGifImage, PropertyTagFrameDelay, PropSize) = S_OK then
begin
GetMem(PropItem, PropSize); // Record in passender Größe bereitstellen
// Daten auslesen
if GetPropertyItem(InGifImage, PropertyTagFrameDelay, PropSize, PropItem^) = S_OK then begin
SetLength(Prop, PropItem.length); // nix -1 !!!
CopyMemory(@Prop[0], PropItem.value, PropItem.length);
...
end;
FreeMem(PropItem); // Delphi merkt sich die Size intern
|
|
Zitat
|