08-08-2008 09:43 AM
#include
<windows.h>HINSTANCE h = 0;
// die call library node konfigurerst du so:
// int32 myDLLload(const char* lib)
// lib ist ein Labview-String, den du als const char* übergibst!
extern
"C" __declspec(dllexport) int myDLLload(LPCWSTR lib){
if(h == 0){
h = LoadLibrary(lib);
return 0; // ok}
return 1; // error}
// auch hier übergibst du füp proc einen LV-String als char*!
// addr übergibst du als pointer auf int32
extern
"C" __declspec(dllexport) int myDLLgetprocaddr(const char* proc, int* addr, DWORD* err){
if(h != 0){
*addr = (
int)GetProcAddress(h, proc); return *addr == 0; // ok}
*err = GetLastError();
return 1; // error}
extern "C" __declspec(dllexport) void myDLLFree()
{
FreeLibrary(h);
h = 0;
}
/code
i passed the parameters for the loadlibary (lib) and getproc... (proc) as a c-string, but it doesnot work. i am not good in writing dlls at all (fortunately there are a lot of nice people in some forums that help a lot 🙂 ) and i just dont know why that doesnot work.
anyone has a clue?
thanx
martin
08-11-2008 04:10 AM
08-12-2008 09:17 AM