()
Newbie
Messaggi:
Iscritto:
|
allora.. eccomi qua in guerra aperta con le dll...
mi potrestespiegare come si crea e come si linka una dll?
mi potreste fare un esempio di una dll che crei una messagebox con scritto ciao e come richiamarla nel codice del mio prog?
grazie mille!
|
|
Rand (Ex-Member)
Pro
Messaggi: 163
Iscritto: 17/05/2005
|
|
|
()
Newbie
Messaggi:
Iscritto:
|
non ho capito niente...
mi puoi fare un esempio?
mia_dll.cpp
Codice sorgente - presumibilmente C/C++ |
#include <windows.h>
BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
return TRUE;
}
|
e questa dove la metto:
Codice sorgente - presumibilmente C/C++ |
void ciao()
{
MessageBox(0, "Ciao","", MB_OK);
}
|
mio_programma.cpp
Codice sorgente - presumibilmente Plain Text |
|
|
()
Newbie
Messaggi:
Iscritto:
|
|
|
Rand (Ex-Member)
Pro
Messaggi: 163
Iscritto: 17/05/2005
|
ok
|
|
()
Newbie
Messaggi:
Iscritto:
|
...però non mi riesce! ca**o ca**o ca**o
ti prego... mi puoi fare un esempio come ti avevo chiesto nel post sopra?.. ti supplico!!!!
|
|
Rand (Ex-Member)
Pro
Messaggi: 163
Iscritto: 17/05/2005
|
tua dll...
Codice sorgente - presumibilmente C++ |
#include <windows.h> BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved ) { return TRUE; } //funzione esportata dalla dll come "public" extern "C" __declspec(dllexport) void Messaggio() { MessageBox (NULL, "weeeee" , "io sono la DLL XD", 0 + MB_ICONEXCLAMATION); }
|
il prg dove vuoi usare qst dll...
Codice sorgente - presumibilmente C++ |
#include <iostream.h> #include <stdio.h> typedef void (WINAPI*cfunc)(); cfunc Messaggio(); void main() { HINSTANCE hLib=LoadLibrary("Progetto_DLL.DLL"); //se la DLL nn viene caricata if(hLib==NULL) { cout << "DLL NN CARICATA: ERRORE!" << endl; return; } Messaggio(); FreeLibrary((HMODULE)hLib); system("pause"); }
|
|
|
()
Newbie
Messaggi:
Iscritto:
|
FreeLibrary((HMODULE)hLib);
|
mi puoi gentilmente spiegare k significa questo?
cmq mi dice:
[Linker error] undefined reference to `Messaggio()'
praticamente non trova la funzione...
grazie mille... anche della tua pazienza...
Ultima modifica effettuata da il 10/10/2006 alle 21:31 |
|