FPRESULT FPAPI FpObtainModel( LPVOID lpModel, BOOL bLearn, int *lpMLen,
BOOL (*IsObtainOff)( void ),
void (*InfoMsg)( int nMsg ),
void (*UpdateFrameView)( LPBYTE lpFrame ) );
라는 Visual C 에서 사용된 외부 DLL 함수의 선언 프로토타입니다.
이것을 똑같이 파스칼에서 선언하려고 하는데요
너무 어렵네요... ^^;
FPRESULT 는 typedef int FPRESULT; /* return value type */ 를 보고
똑같이 선언을 해줬습니다.
그리고 LPVOID 는 잘모르겠습니다.
BOOL은 똑같이 선언을 했구요...
int *lpMLen 는 lpMLen: ^Integer 로 선언했습니다.
BOOL (*IsObtainOff)( void ) 는 설명서에 보니
IsObtainOff가 사용자 정의 함수라고 합니다.
나머지 두줄과 더불어서 이부분을 델파이에서 어떻게 해야 할지 난감합니다.
고수님들의 도움 부탁드리겠습니다.
참고로 함수사용법 원문을 올립니다.
---------------------------------------------------------------------------------
Parameters
lpModel
Points to the memory buffer.
bLearn
Specifies model type flag.
lpMLen
Points to the variable, if the passed value is not NULL
IsObtainOff
Specifies the address of the user-defined break function, which controls the process of model obtaining.
This function must return TRUE to cancel FpObtainModel execution and FALSE for going on.
InfoMsg
Points to the user-defined procedure, which is responsible for displaying control messages.
UpdateFrameView
Specifies the user-defined function
Remarks
All user-defined functions pointers must not be NULL. If the desired application don’t need displaying captured frames for example, the developer’s responsibility is to create dummy function, which does nothing, and pass its pointer to the FpObtainModel call.
다음과 같이 해서 사용하세요.
type
TlsObtainOff = function: BOOL;
TInfoMsg = procedure (nMsg: Integer);
TUpdateFrameView = procedure (lpFrame: PBYTE);
function FpObtainModel(
var lpModel;
bLearn: BOOL;
lpMLen: PINT;
lsObtainOff: TlsObtainOff;
InfoMsg: TInfoMsg;
UpdateFrameView: TUpdateFrameView): Integer; stdcall;
^^ 항상 즐코하세요.
이도선 wrote:
> FPRESULT FPAPI FpObtainModel( LPVOID lpModel, BOOL bLearn, int *lpMLen,
> BOOL (*IsObtainOff)( void ),
> void (*InfoMsg)( int nMsg ),
> void (*UpdateFrameView)( LPBYTE lpFrame ) );
>
> 라는 Visual C 에서 사용된 외부 DLL 함수의 선언 프로토타입니다.
>
> 이것을 똑같이 파스칼에서 선언하려고 하는데요
> 너무 어렵네요... ^^;
>
> FPRESULT 는 typedef int FPRESULT; /* return value type */ 를 보고
> 똑같이 선언을 해줬습니다.
>
> 그리고 LPVOID 는 잘모르겠습니다.
>
> BOOL은 똑같이 선언을 했구요...
>
> int *lpMLen 는 lpMLen: ^Integer 로 선언했습니다.
>
> BOOL (*IsObtainOff)( void ) 는 설명서에 보니
> IsObtainOff가 사용자 정의 함수라고 합니다.
> 나머지 두줄과 더불어서 이부분을 델파이에서 어떻게 해야 할지 난감합니다.
>
> 고수님들의 도움 부탁드리겠습니다.
>
> 참고로 함수사용법 원문을 올립니다.
>
> ---------------------------------------------------------------------------------
>
> Parameters
> lpModel
> Points to the memory buffer.
>
> bLearn
> Specifies model type flag.
>
> lpMLen
> Points to the variable, if the passed value is not NULL
>
> IsObtainOff
> Specifies the address of the user-defined break function, which controls the process of model obtaining.
> This function must return TRUE to cancel FpObtainModel execution and FALSE for going on.
>
> InfoMsg
> Points to the user-defined procedure, which is responsible for displaying control messages.
>
> UpdateFrameView
> Specifies the user-defined function
>
> Remarks
> All user-defined functions pointers must not be NULL. If the desired application don’t need displaying captured frames for example, the developer’s responsibility is to create dummy function, which does nothing, and pass its pointer to the FpObtainModel call.
>