Einzelnen Beitrag anzeigen

EWeiss
(Gast)

n/a Beiträge
 
#47

AW: Array of Integer und crash

  Alt 26. Sep 2018, 16:51
Zitat:
Ggf. sind aber deine Header nicht richtig übersetzt?
Denke mal nicht.
Der einzige unterschied ist ich verwende LONG_PTR anstelle von Pointer für die Images.

Meine..
Delphi-Quellcode:
  GdipImageGetFrameCount: function(Image: LONG_PTR; dimensionID: PGUID; var count: UINT): GPSTATUS; stdcall;
  GdipGetPropertyItem: function(Image: LONG_PTR; propId: PROPID; propSize: UINT; var buffer: PPROPERTYITEM): GPSTATUS; stdcall;
  GdipGetPropertyItemSize: function(Image: LONG_PTR; propId: PROPID; var size: UINT): GPSTATUS; stdcall;
  GdipGetPropertyCount: function(Image: LONG_PTR; var numOfProperty: UINT): GPSTATUS; stdcall;
  GdipGetPropertyIdList: function(Image: LONG_PTR; numOfProperty: UINT; var list: PPROPID): GPSTATUS; stdcall;
Winapi.GDIPAPI
Delphi-Quellcode:
  function GdipImageGetFrameCount(image: GPIMAGE; dimensionID: PGUID;
    var count: UINT): GPSTATUS; stdcall;
  {$EXTERNALSYM GdipImageGetFrameCount}
  
  function GdipGetPropertyItem(image: GPIMAGE; propId: PROPID; propSize: UINT;
    buffer: PPROPERTYITEM): GPSTATUS; stdcall;
  {$EXTERNALSYM GdipGetPropertyItem}

  function GdipGetPropertyItemSize(image: GPIMAGE; propId: PROPID;
    var size: UINT): GPSTATUS; stdcall;
  {$EXTERNALSYM GdipGetPropertyItemSize}

  function GdipGetPropertyCount(image: GPIMAGE;
    var numOfProperty: UINT): GPSTATUS; stdcall;
  {$EXTERNALSYM GdipGetPropertyCount}

  function GdipGetPropertyIdList(image: GPIMAGE; numOfProperty: UINT;
    list: PPROPID): GPSTATUS; stdcall;
  {$EXTERNALSYM GdipGetPropertyIdList}

hmmm.. sehe gerade hier ist kein var.
var buffer: PPROPERTYITEM bei GdipGetPropertyItem (Winapi.GDIPAPI) muss das mal testen.

Zitat:
Da ist ein Fehler in der Winapi.GDIPAPI
der Buffer MUSS über var zurückgegeben werden.
Soviel zu Winapi.GDIPAPI

Was gibt er also zurück bei der Winapi.GDIPAPI bei der Funktion GdipGetPropertyItem? NICHTS!
Hier ist auch ein Fehler GdipGetPropertyIdList keine Rückgabe, sollte eigentlich den Zeiger auf das Array der Liste zurückgeben.
Sorry aber mit so was kann man nicht arbeiten.

gruss

Geändert von EWeiss (26. Sep 2018 um 17:27 Uhr)
  Mit Zitat antworten Zitat