Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. Visual Studio 6.0
Trasformare una lib in una dll
venerdì 03 marzo 2006 - 10.09
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
thrantir
Profilo
| Newbie
4
messaggi | Data Invio:
ven 3 mar 2006 - 10:09
Questo e' il mio primo messaggio, quindi un doveroso saluto a tutti, e complimenti per il sito e il forum, risorse molto preziose :)
ho una bella gatta da pelare: ho realizzato una libreria in, col visual c++ 7.1, che viene utilizzata per gestire il windows media player, con un sistema prsonalizzato di playlist bla bla bla...
il problema: l'interfaccia grafica. Per fare in fretta, si e' pensato di usare visual basic, ma poco dopo ho scoperto che non potevo usare la mia lib statica, perche' per visual basic occore per forza una lib dinamica (dll)
da qui il grande interrogativo: che fare per trasformare la lib in una dll? Devi mettermi a cambiare ogni dichiarazione di funzione che va esportata?
Altra domanda: per esportare una classe e i suoi metodi, si agische solo sul .h? o sul .cpp? o su tutti e due?
Sono nelle vostre mani
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 3 mar 2006 - 15:58
>il problema: l'interfaccia grafica. Per fare in fretta, si e'
>pensato di usare visual basic, ma poco dopo ho scoperto che non
>potevo usare la mia lib statica, perche' per visual basic occore
>per forza una lib dinamica (dll)
E' esatto, i file .lib li usi solo in Visual C++ in compilazione.
>da qui il grande interrogativo: che fare per trasformare la lib
>in una dll? Devi mettermi a cambiare ogni dichiarazione di funzione
>che va esportata?
>Altra domanda: per esportare una classe e i suoi metodi, si agische
>solo sul .h? o sul .cpp? o su tutti e due?
Si va esportata, qui hai un tutorial che ti può mettere sulla retta via:
http://www.dotnethell.it/articles/DLLVisualC.aspx
Leggi ad integrazione anche questo:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=6572
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
thrantir
Profilo
| Newbie
4
messaggi | Data Invio:
ven 3 mar 2006 - 16:17
grazie per la risposta
avevo gia; visto entrambe le cose, il mio dubbio e' come esposrtare i metodi di una classe
devo mettere " __stdcall" davanti alla definizione dei metodi? davanti alla loro implementazione? davanti alla dichiarazione di classe?
Chiedo scusa per le mie domande da niubbo, ma non ho trovato documentazione sull'esportazione di classi, ma solo sull'esportazione di funzioni a se' stanti...
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
ven 3 mar 2006 - 16:24
>grazie per la risposta
>avevo gia; visto entrambe le cose, il mio dubbio e' come esposrtare
>i metodi di una classe
>devo mettere " __stdcall" davanti alla definizione dei metodi?
>davanti alla loro implementazione? davanti alla dichiarazione
>di classe?
Allora, ho letto che poi questa classe la vuoi utilizzare da VB giusto ? Allora di solito è necessario anteporre __stdcall al prototipo della funzione nel listato C++. Poi come hai visto dal tutorial io uso anche un file .DEF. Una volta compilata la DLL (dinamica questa volta e non statica), le funzioni contenute nel file .DEF e con __stdcall saranno visibili esternamente.
Infatti per fare una verifica puoi utilizzare il comando dumpbin.exe sempre come indicato nell'articolo. quando avrai la certezza di questa cosa, puoi utilizzare la dll in VB, facendo la Declare come indicato nel Thread che ti ho suggerito.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
thrantir
Profilo
| Newbie
4
messaggi | Data Invio:
ven 3 mar 2006 - 16:51
grazie ancora
forse ce l'ho fatta, ma se lancio dumpbin.exe sulla dll mi dice che non trova mspdb71.dll
Brainkiller
Profilo
| Guru
7.999
messaggi | Data Invio:
sab 4 mar 2006 - 00:35
>grazie ancora
>forse ce l'ho fatta, ma se lancio dumpbin.exe sulla dll mi dice
>che non trova mspdb71.dll
Questo allora è un altro problema. O non hai installato completametne VisualC++ o ti manca quella DLL.
Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
thrantir
Profilo
| Newbie
4
messaggi | Data Invio:
sab 4 mar 2006 - 17:26
strano, pensavo di aver fatto l'installazione completa... lunedì provo a verificare...
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !