IOTIEEEDLL LONG WINAPI OutputX( DevHandleT dh, LPBYTE data, DWORD count, BOOL last, BOOL forceAddress, TermT *term, BOOL async, LPDWORD completStat);
C++로 작성된 dll입니다.
이 함수를 델파이에서 호출해야 되는데...
function OutputX( dh:DevHandleT; var data:charArray; count:dword; last:longbool;
forceAddress:longbool; var term:TermT; async:longbool;
var completStat:dword ):longint;
stdcall; external IEEE_DLL;
이렇게 선언되어 있습니다. (장비구입시 제공되는 DLL이라 수정할 수도 없네요)
문제는 여섯번째 term파라메타가 C++에서는 null이면 디폴트 값을 가지고 가는데..
델파이에서는 null을 넘길 수가 없네요.
(장비 메뉴얼이 없어서 디폴트 값을 알 수가 없네요..
어떤값을 넘겨야 할지 모르겠네요.)
디폴트 이외에는 제대로 실행이 안됩니다.
var term:TermT 로 선언된 매개변수에 어떻게 C에서처럼 null을 넘기죠??
제발~
type
PTerm = ^TermT;
...
OutputX(dh, data, count, last, forceAddress, PTerm(nil)^, async, completStat);
멍뭉이 wrote:
> IOTIEEEDLL LONG WINAPI OutputX( DevHandleT dh, LPBYTE data, DWORD count, BOOL last, BOOL forceAddress, TermT *term, BOOL async, LPDWORD completStat);
>
> C++로 작성된 dll입니다.
>
> 이 함수를 델파이에서 호출해야 되는데...
> function OutputX( dh:DevHandleT; var data:charArray; count:dword; last:longbool;
> forceAddress:longbool; var term:TermT; async:longbool;
> var completStat:dword ):longint;
> stdcall; external IEEE_DLL;
>
> 이렇게 선언되어 있습니다. (장비구입시 제공되는 DLL이라 수정할 수도 없네요)
> 문제는 여섯번째 term파라메타가 C++에서는 null이면 디폴트 값을 가지고 가는데..
> 델파이에서는 null을 넘길 수가 없네요.
> (장비 메뉴얼이 없어서 디폴트 값을 알 수가 없네요..
> 어떤값을 넘겨야 할지 모르겠네요.)
>
> 디폴트 이외에는 제대로 실행이 안됩니다.
> var term:TermT 로 선언된 매개변수에 어떻게 C에서처럼 null을 넘기죠??
>
> 제발~
>