ok, da zero:
------------
*)apri dev cpp.
*)in dev cpp - menu': file\nuovo\progetto
seleziona l'icona "DLL" (devi creare un tipo di progetto DLL) e cambia il nome di default, da "Progetto1" in "mydll" - tutto minuscolo - (seleziona il linguaggio "C++") e click su [OK] seleziona la directory in cui vuoi salvare il progetto (DLL) e fai click su [salva] (il nome del file progetto - in questo caso -sarà: "mydll.dev"
*)Automaticamente verranno creati DUE files (oltre al file progetto "mydll.dev", uno c++, chiamato (di default) "dllmain.cpp"
e l'altro header, chiamato (sempre di default) "dll.h"
*)Il file "dll.h" non ti serve.
Chiudilo senza salvarlo così verrà automaticamente rimosso
anche dal progetto.
*)Il file "mydll.cpp" ti serve.
Cancella tutto il codice inserito di default... (devi ottenere
un foglio bianco) ed inserisci (copia/incolla) questo codice:
codice:
#include <windows.h>
WINAPI BOOL APIENTRY DllMain( HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
{
return TRUE;
}
extern "C" __declspec(dllexport) WINAPI int Somma(int a, int b)
{
return a+b;
}
*)Ora, salva il file "dllmain.cpp" RINOMINANDOLO in "mydll.cpp"
*)Click su compila! (verrà creata la DLL (in questo caso) "mydll.dll"
e gli altri file relativi al progetto/dll)
*)Chiudi pure il progetto, la DLL è pronta.
---------------------------------------------------
SE VUOI TESTARE LA DLL DA C/C++:
*)Apri di nuovo DevC++ e crea un NUOVO progetto
(questa volta di tipo "Console Application"
e salvalo con il nome di "main.dev"
verrà creato di default (oltre al file progetto: "main.dev")
un file sorgente: "main.cpp", cancella tutto il suo contenuto (codice)
e inserisci (copia/incolla) questo:
codice:
#include <stdio.h>
#include <stlib.h>
extern "C" __declspec(dllimport)int Somma(int a, int b);
int main()
{
printf("%d\n", Somma(10, 5) );
system("pause");
return 0;
}
*)Un'ultima cosa, vai su: Menù "Progetto\Opzioni di progetto\
Finestra "PARAMETRI" e (nel riquadro "LINKER")
[aggiungi libreria]... inserisci/Linka la DLL appena creata, in DevC++ si chiama "libmydll.a" (invece di "mydll.dll") poi click su [OK].
*)Salva tutto e compila il progetto, ora funziona!
----------------------------------------------------------------------
P.s. per richiamare la libreria da VB prendi il codice dal link che trovi sopra.
GoodNight