Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Dll in C Programm einbinden ?? Warum klappts nicht !

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
18.02.2004, 15:43 Uhr
Marcus



Ich nochmal


eigentlich sollte dort wie bei allen "fremden" DLLs die ich ausprobiert
habe folgendes stehen:

MeineDll

als Export

Habe mich vertippt, sollte oben heissen

?fnMeineDll@@YAXXZ
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
18.02.2004, 18:21 Uhr
mike
Pinguinhüpfer
(Operator)



Zitat:
Marcus postete
Hi,

mein Aufruf:

pProc = GetProcAddress( hDll, _T ("MeineDll"));

GetLastError liefert 87 (inval. Para.)

Wenn ich in einem Tool mir die Exports anschaue
wird die Funktion so dargestellt:

?fnMeindDll@@YAXXZ

Ist MeineDLL der DLL Name? Wenn ja ist das nicht richtig. Ich würde sowieso ::LoadLibrary und ::GetProcAddress in ein VERIFY(...) geben. zeig mal die Codestelle, wo du die Funktion exportierst und dann die ganze Codestelle vom importieren

mfg
--
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
19.02.2004, 08:25 Uhr
Marcus



Hallo,
hier die Codefragmente:

// meinedll.cpp : Defines the entry point for the DLL application.
//
#include "windows.h"
#include "winbase.h"
#include "stdafx.h"
#include "meinedll.h"

BOOL APIENTRY DllMain( HANDLE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}


//exported function
MEINEDLL_API int fnMeinedll(void)
{
return 42;
}


//meinedll.h
#ifdef MEINEDLL_EXPORTS
#define MEINEDLL_API __declspec(dllexport)
#else
#define MEINEDLL_API __declspec(dllimport)
#endif

MEINEDLL_API int fnMeinedll(void);



//programm.cpp
...
hDll = ::LoadLibrary( _T("meinedll.dll") );
pProc = ::GetProcAddress( hDll, _T("fnMeinedll"));
...



Soll es denn "nur" am Namen der Funktion liegen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: