Hej igen Felet verkar ligga i ditt anrop i VB. Skulle du inte kunna göra en ActiveX dll istället?, väldigt lätt om man använder MFC. Nope ingen ActiveX dll. Är på tok för stor för att ändra, men tack för förslaget Isåfall, vad använder du för calling convention? det går inte att anropa _cdecl funktioner direkt ifrån VB, du måste använda dig av _stdcall. Om du måste anropa _cdecl funktioner så kolla in Q153586.Fler dll frågor
Eftersom jag fick ett så snabbt och bra svar igår så skickar jag nu in en riktig nöt att knäcka. Jag håller fortfarande på och skriver en vb applikation som använder en c++ dll. Problemet är att jag inte kan köra i Debug-mode i vb då får jag bara felet:
Run-Time error '49':
Bad dll calling convention
???? Om jag därimot gör en exe fil av VB-applikationen och kör i c++ debuggen då funkar det kalas VARFÖR???
/HSv: Fler dll frågor
Kolla noga på saker som datatypers kompabilitet är en Int i VB samma Int i C++ (jag har för mig att det inte är så). Det samma gäller returtyperna.
Om du dessutom har skrivit DLL:en själv i C++ så gratulerar (onödigt men gratulerar), så kan du förslagsvis kanske baka in bättre errorhantering. Aktiveras DLL:en över huvud taget t ex. Låt din C++ DLL radskriva till en textfil. Då ser du dirket var din kod rasar.
Hoppas du blev klokare.Sv: Fler dll frågor
Tack för svaret, men det hjälpte tyvärr inte så mycket. Har testat allt möjligt, bla att bara skicka in en integer (som är long) till dllen som sedan bara slänger upp en messagebox med siffran (inget returvärde) inte heller detta funkar (medelandet kommer upp men sedan så kommer samma sura error) . Det som är skumt är att c++ funktionen som anropas alltid execveras helt och det verkar som om det är när VB skall ta tillbaka kontrollen som det ballar ur. Har lusläst msdn och microsoft.com och det verkar vara en bugg i VB verkar dock högst otroligt för jag kan ju inte vara den första i världen som anropar en c++ dll från VB??
/HSv: Fler dll frågor
Sv: Fler dll frågor
/HSv: Fler dll frågor