Borland Delphi에서 NI-DAQmx의 함수를 호출할 수 있습니까?



주요한 소프트웨어:
주요한 소프트웨어 버전: 8.0
문제가 해결된 소프트웨어 버전: N/A
부차적인 소프트웨어: N/A

문제점: Borland Delphi에서 직접 NI-DAQmx를 호출하는 것은 지원되지 않기 때문에, 제가 대신에 Visual C++로 작성된 wrapper DLL을 생성해보았습니다. 그런데 Borland Delphi에서 이 DLL을 호출하는 것은 가능했지만, 이 DLL을 호출하자마자 NI-DAQmx의 함수중 하나가 -50251에러를 발생하였습니다. 반면에 같은 DLL을 Visual C++에서 호출하였을 때는 잘 동작합니다. 왜 Borland Delphi는 NI-DAQmx드라이버 호출용 wrapper DLL에 핸들 파라메트를 넘기지 못하는 것인지요?

솔루션: Visual Basic 6.0용 NI-DAQmx C API Type Library를 사용하면 Borland Delphi에서 NI-DAQmx를 사용할 수 있게 해주는 wrapper파일을 만들 수 있습니다. 이는 스스로 Delphi용 wrapper파일을 만들고자하는 고객들의 요청 때문이었습니다. 첨부한 wapper files은 NI-DAQmx 7.4에서만 동작한다는 것을 꼭 확인해주시기 바랍니다.

만약 스스로 Delphi용 wrapper파일을 만들고자 하신다면, -50251에러 문제에 대한 해결책은 첨부한 텍스트 파일에 상세히 설명되어 있습니다.

주의: National Instruments는 NI-DAQmx드라이버에서 Borland Delphi는 공식적으로 지원하지 않습니다. 첨부된 wrapper파일은 아직 완벽하게 테스트 되지 않았습니다.

관련 링크: KnowledgeBase 38RALVGP: Borland C++ 로 Traditional NI-DAQ 7.x 사용하기

VIA C3의 소수점 처리능력 향상하기

첨부:


nidaqmx_80_delphi.zip - nidaqmx_80_delphi.zipnidaqmx_74_delphi.zip - nidaqmx_74_delphi.ziperror -50251 solution.txt - error -50251 solution.txt


리포트 날짜: 09/09/2004
마지막 업데이트: 09/29/2006
문서 번호: 3D8C2TPC