HALLO Zusammen,
am folgenden CODE siz ich schon seit einpaar Tagen.
Vieleicht kann bin ich schon Blind vom lauter hingucken... oder seh den Wald vor lauter Bäumen nicht.
Code:
struct {
unsigned int iIdent;
unsigned int iDataOffset;
tBoImgCode sDataCode;
struct flag {
unsigned fFlipVert: 1;
unsigned fFlipHori: 1;
} sFlags;
unsigned int aStamp[64];
} tBoImgDataInfoHeader, *tpBoImgDataInfoHeader;
...
DWORD
WINAPI FX_GetImageData ( int iCamId, tpBoImgDataInfoHeader pImgHeader, PVOID pBuffer, int iBufferSize )
...
char * pBuffer = (char*) new char[ iSizeOfBufferToSupply ];
tBoImgDataInfoHeader ImgInfo;
...
memset( &ImgInfo, 0, sizeof(tBoImgDataInfoHeader));
FX_GetImageData( iLabel, &ImgInfo, pBuffer, iSizeOfBufferToSupply );
Delphi-Quellcode:
tflagBoImgDataInfoHeader = packed Record
fFlipVert : Boolean;
fFlipHori : Boolean;
end;
tBoImgDataInfoHeader = packed Record
iIdent : LongWord;
iDataOffset : LongWord;
sDataCode : tBoImgCode;
flags : tflagBoImgDataInfoHeader;
aStamp : array [0..63] of LongWord;
end;
tpBoImgDataInfoHeader = ^tBoImgDataInfoHeader;
...
FUNCTION FX_GetImageData ( iCamId : Integer; pImgHeader : tpBoImgDataInfoHeader; Buffer: Pointer; iBufferSize: Integer) :DWORD;FAR;STDCALL;External DLLFile;
...
pBuffer : array of ^CHAR ;
SetLength(pBuffer,iSizeOfBufferToSupply );
FillMemory(@ImgInfo,SizeOf(ImgInfo),0);// memset
fReturn := FX_GetImageData( iLabel, @ImgInfo, pBuffer, iSizeOfBufferToSupply );
Als Fehler bekomme ich beim schließen der
DLL eine Zugriffsverletzung.
Gruß
Jörg