我实际上认为这个问题在这个话题上更好。
总而言之,您可以“将其放在函数声明导入处”,但 VB6 IDE 不知道如何调试这样的东西。但是编译器可以很好地处理它。将其编译为 dll 后,您的主项目就可以访问已编译的功能。
也许您在问如何将这些移动到 dll 中?如果是这种情况,您需要创建一个类型为“ActiveX Dll”的新项目。将其命名为 PwrUSB。接下来,添加一个类(或重命名默认/空类,如果提供)到 PwrUSBApi 之类的东西。接下来,在属性窗口中,将类设置为 GlobalMultiUse。在名为 MDeclares 的模块中,放入所有声明:
'from your other post...
Public Declare Function InitPowerDevice CDecl Lib "PwrDeviceDll.dll" (ByRef firmware() As Byte) As Long
回到你的 PwrUSBApi 类:
'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)
祝你好运。