我很难在 VB 中创建对 python 可见的 dll,
当我将 dll 导入 python 时,没有一个 VB 函数可见
这就是我所做的:
- 有史以来最简单的 VB 类
Public Class MyFunctions Public Function AddMyValues(ByVal Value1 As Double, ByVal Value2 As Double) Dim Result As Double Result = Value1 + Value2 Return Result End Function End Class`
我将其保存为 dll(从 Visual Studio 2010 构建)
我尝试通过将其导入到其他 VB 项目中是否可以工作(它工作正常):
Imports ClassLibrary1 Module Module1 Sub Main() Dim Nowa As New ClassLibrary1.MyFunctions Dim Result As String Result = Nowa.AddMyValues(123, 456.78).ToString Console.WriteLine(Result) Console.ReadLine() End Sub End Module
- 我将它加载到 python 中并尝试使用它:
from ctypes import * MojaDLL = cdll.LoadLibrary("E:\\ClassLibrary1.dll") MojaDLL.MyFunctions Traceback (most recent call last): File "<console>", line 1, in <module> File "C:\Python25\lib\ctypes\__init__.py", line 361, in __getattr__ func = self.__getitem__(name) File "C:\Python25\lib\ctypes\__init__.py", line 366, in __getitem__ func = self._FuncPtr((name_or_ordinal, self)) AttributeError: function 'MyFunctions' not found
而不是 MyDll.MyFunctions 我也试过:MyDll.MyFunctions() , MyDll.MyFunctions.AddMyValues(1,2) , MyDll.MyFunctions.AddMyValues
。
这里有什么问题?我不明白。
PS。有类似的未解决问题:在python中调用vb dll