Müsste es nicht Uint16(Ptr^) heißen?
Ja verdammich, ganz genauso ist es. Ich bin im Laufe meiner vielen Versuche auch selbst auf die Idee gekommen, weiß der Geier, warum ich das dann nicht weiter verfolgt bzw. gemerkt habe.
Danke!
@K-H: Es handelt sich um einen Aufruf der FreeImage-
DLL, mit der die EXIF-Daten von JPG eingelesen werden.
Die Funktion heißt
function FreeImage_GetTagValue(tag: PFITAG): Pointer; stdcall; external FIDLL {$IFDEF WIN32}name '_FreeImage_GetTagValue@4'{$ENDIF};
;
PFITAG ist definiert als
Delphi-Quellcode:
// Handle to a metadata tag
FITAG =
record
data: Pointer;
end;
PFITAG = ^FITAG;
Der Werttyp ist
FIDT_SHORT = FREE_IMAGE_MDTYPE(3); // 16-bit unsigned integer
PS:
PWord(Ptr)^
geht auch.