Witam Wszystkich!
Przedstawie problem na prostym przykładzie:
Tworze w VC 6.0 biblioteke prosta.dll w której mam jedną funkcje, zadekalarowana jest następująco:
extern "C" __declspec(dllexport) int __stdcall ProstaFunkcja(int i);
jej definicja wygląda tak:
int __stdcall ProstaFunkcja(int i){
return 1;
}
Wszystki się kompiluje i powstaje biblioteka dll - można ją załadowac w jakimś innym projekcie przez LoadLibrary ale niestety nie można znaleŹć wskaźnika do funkcji, tak samo jest w przypadku wywołania funkcji przez program rundll32.
Jeżeli zaś funkcje zadeklaruje tak:
extern "C" __declspec(dllexport) int ProstaFunkcja(int i);
i zdefiniuje tak:
int ProstaFunkcja(int i){
return i;
}
czyli bez __stdcall
Wszysko jest ok. Udaje się dostać wskaźnik do niej i można ją wywołać. Niestety to mnie nie zadawala. Muszę uŻyć jej w Visual basic pod excelem a to wymaga aby funcja była poprzedzona modyfikatorem __stdcall (chodzi o "standardowe wywołanie")
Proszę o pomoc