Einzelnen Beitrag anzeigen

Benutzerbild von yörsch
yörsch

Registriert seit: 10. Jan 2007
Ort: Lampertheim
206 Beiträge
 
Delphi XE2 Architect
 
#1

Malwieder von C nach Delphi

  Alt 15. Jan 2007, 10:17
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
Jörg
have FUN
  Mit Zitat antworten Zitat