tôi đấu tranh để tạo dll trong VB mà sẽ được hiển thị cho trăn,VB việc dll doesnt trong python với ctypes (chức năng * không tìm thấy)
không ai trong số các chức năng VB có thể nhìn thấy khi tôi nhập khẩu dll vào python
Dưới đây là những gì tôi làm:
- đơn giản nhất bao giờ VB lớp
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`
tôi lưu nó như một dll (Xây dựng từ Visual Studio 2010)
tôi cố gắng nếu nó hoạt động bằng cách nhập nó vào dự án VB othoer (nó hoạt động tốt) :
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
- tôi tải nó vào python và cố gắng sử dụng nó:
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
thay vì MyDll.MyFunctions tôi cũng đã cố gắng: MyDll.MyFunctions() , MyDll.MyFunctions.AddMyValues(1,2) , MyDll.MyFunctions.AddMyValues
.
Có gì sai ở đây? Tôi không hiểu.
PS. có vấn đề tương tự chưa được giải quyết: calling vb dll in python
PS. Khi tôi đăng ký dll nó như là một COM nó hoạt động tốt –
Có lẽ những bài viết này sẽ giúp: [Làm thế nào để tự động xuất khẩu chức năng .NET để chương trình không quản lý] (http://www.codeproject.com/Articles/16310/How-to-Automate -Exporting-NET-Function-to-Unmanage) và [Unmanaged code có thể bọc các phương thức quản lý] (http://www.codeproject.com/Articles/8124/Unmanaged-code-can-wrap-managed-methods). – eryksun