extern "C" __declspec(dllexport) BOOL UserInstruction(
HWND hWnd,
HINSTANCE hInst,
double *nArray,
LPSTR lpData1,
LPSTR lpData2 )
{
...
}
našao sam na http://www.codeproject.com/KB/dotnet/DllExport.aspx kako da eksportujem funkciju pravljenu u .NET-u, ali ovo rešenje radi delimično.
Funkcija koju sam napravio u .net-u izgleda ovako
Public Class Class1
<ExportDllAttribute.ExportDll("UserInstruction", Runtime.InteropServices.CallingConvention.StdCall)> _
Public Shared Function UserInstruction() As Boolean
MsgBox("fs")
Return True
End Function
End Class
i radi kako treba, tj. program koji poziva ovu funkciju prikaže msgbox. Problem nastaje kad ubacim parametere u ovu funkciju jer tad program koji je poziva puca. Da li neko može da mi kaže kako da definišem parametre ove funkcije kako bi sve proradilo i sa paramterima. Da li je ovo uopšte moguće sa .net bibliotekama ili ne?
primer jedne prodecure u C++ (uzeto iz uputstva kako napraviti funkciju)
#include "windows.h"
#include "math.h"
#define _WINDLL
//***********************************************************************
// USER DEFINED INSTRUCTION
BOOL far PASCAL UserInstruction( hWnd, hInst, lpNumeric, lpAlpha1,
lpAlpha2 )
HWND hWnd;
HINSTANCE hInst;
double far *lpNumeric;
char far *lpAlpha1;
char far *lpAlpha2;
{
double fZweiPi = 6.283185307;
*lpNumeric = sin( *lpNumeric * fZweiPi / 360. );
return(TRUE);
}
Pozdrav
[Ovu poruku je menjao mmix dana 31.05.2010. u 09:13 GMT+1]
Da je važnije biti ljubazan nego biti u pravu