CPP로된 DLL이 있는데 그것을 이용한 함수 입니다.
아래와 같은 구조체에 데이터를 넣어서 호출하게 됩니다.
아래 멤버는 축약 시켜 놓은 거구요. Error메시지와 같은 리턴 받는 것도 있습니다.
typedef struct tExtraP
        {
        long lStructSize;        
                BOOL bCallback;        
                HWND hCallbackWindow;        
        LPSTR szLogFile;
                LPSTR szErrorMessage;
               } ExtraP,*PExtraP,far *LPExtraP;
extern "C" BOOL 'ExtraPFunc'(LPExtraP);        
를 아래로 했구요.
type
  pExtraP = ^tExtraP;
  {$EXTERNALSYM tExtraP}
  tExtraP = packed record
    lStructSize: LongInt;
    bCallback: Bool;
    hCallbackWindow: HWND;
    szLogFile: PChar;
    szErrorMessage: PChar;
  end {tpExtraP};
이렇게 선언했구요.
function TestO2(aExtraP : pExtraP): Bool; cdecl; external 'Test.dll' name 'ExtraPFunc';
이것에 사용부는.
var
aExtraP: pExtraP;
begin
aExtraP:= AllocMem(sizeOf(tExtraP));
 aExtraP.szLogFile := 'c:\temp.log'; // <- 이런식으로 데이터를 넣구.
 TestO2(aExtraP.szLogFile); //<- 호출을 하게 되면 에러가 납니다. ㅠ.ㅠ.
,far *LPExtraP; 이것을 파라미터로 선언해서 사용하는 방법을 잘모르겠습니다.
올바른 선언 법은 무엇인지요?