Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class _declspec(dllexport) MyClass{
- public:
- int multiply(int x, int y) const;
- char* get_name() const;
- };
- _declspec(dllexport) void* createMyClass();
- _declspec(dllexport) void destroyMyClass(void* objptr);
- _declspec(dllexport) int MyClass_multiply(void* objptr, int x, int y);
- int MyClass::multiply(int x, int y) const
- {
- return x * y;
- }
- char* MyClass::get_name() const
- {
- return "jensa";
- }
- void* createMyClass()
- {
- return new MyClass;
- }
- void destroyMyClass(void* objptr)
- {
- delete static_cast<MyClass*>(objptr);
- }
- int MyClass_multiply(void* objptr, int x, int y)
- {
- std::ofstream fout("jojo.txt", std::ios::out);
- fout << x << std::endl;
- fout << y << std::endl;
- MyClass* p = (MyClass*)(objptr); // Explicit type cast
- fout << p->get_name() << std::endl;
- fout.close();
- return p->multiply(x,y);
- }
- <DllImport(Constants.DLL_PATH, EntryPoint:="MyClass_multiply", CallingConvention:=CallingConvention.Cdecl)>
- Private Shared Function MyClass_multiply(ByVal objptr As Long, ByVal x As Long, ByVal y As Long) As Long
- End Function
- Dim objptr As Long = createMyClass()
- Me.TextBox3.Text = MyClass_multiply(objptr, 2, 3)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement