실제로는 this 질문이 주제에 더 좋다고 생각합니다.
는
"함수 선언의 수입에 바로 배치"수, 요약하면,하지만 VB6 IDE는 방법
디버그 그런 일을 알지 못합니다. 그러나
컴파일러은 잘 처리합니다. 일단 dll로 컴파일하면 주 프로젝트가 컴파일 된 기능에 액세스 할 수 있습니다.
아마도 이러한 DLL을 DLL로 이동하는 방법을 묻는 중입니까? 이 경우 "ActiveX Dll"유형의 새 프로젝트를 만들어야합니다. PwrUSB와 같은 이름을 지정하십시오. 다음으로 PwrUSBApi와 같은 클래스에 클래스를 추가합니다 (또는 기본/빈 값이 제공된 경우 이름을 바꿉니다). 그런 다음 속성 창에서 클래스를 GlobalMultiUse로 설정합니다. 모듈이라고 MDeclares, 귀하의 선언의 모든 드롭 :
위로 PwrUSBApi 클래스의
'from your other post...
Public Declare Function InitPowerDevice CDecl Lib "PwrDeviceDll.dll" (ByRef firmware() As Byte) As Long
:
'forward your calls to the dll
Public Function InitPowerDevice (ByRef firmware() As Byte) As Long
InitPowerDevice = MDeclares.InitPowerDevice(firmware)
End Function
당신은 API에서 더욱 완벽하게 갖춘 개체 모델을 만들 수 있습니다,하지만 난 좋겠 모든 API를 분류 할 때까지이 간단한 래퍼로 시작하십시오.
오 그래, 다시 기본 프로젝트에서 당신은 새로운 래퍼 PwrUSB.dll 프로젝트 메뉴에서 참조를 추가 할 것입니다. 그런 다음 코드에서 다음과 같이 사용하십시오.
Dim numOfDevices as Long
Dim firmware() As Byte
Redim firmware(0 to 31)
numOfDevices = PwrUSB.InitPowerDevice(firmware)
행운을 빈다.
Bob의 답변에서 중요한 점은 래퍼를 원시 코드로 컴파일하므로 "갑자기"작동한다는 것입니다. 그런 다음 주 프로그램에서 해당 래퍼 DLL을 참조하고 정상적으로 개발하고 디버깅 할 수 있습니다. – prprcupofcoffee
cdel 관련 문제를 해결하기 위해 typelib을 사용할 수 없습니다. – wqw