Newsgroup: it.comp.lang.visual-basic
Titolo: EXE e DLL

Salve a tutti!
sono tornato!
e subito ho qualcosa da chiedervi!
Fino ad ora ho sempre fatto singoli EXE per le mie applicazioni ora però
vorrei crearmi una DLL che contiene tutte le mie funzioni che uso di + in
modo che quando faccio un aggiornamento non devo ricorreggerle su tutte le
mie applicazioni ma basta che aggiorni la DLL!
Come si fa a richiamare una funzione in una DLL?
Ciao e grazie!
-- 
Andrea Fabbrucci (da internet)
anfa...@tin.it
--
Posted from 
mta03-acc.tin.it
 [212.216.176.34] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Salve a tutti!
sono tornato!
e subito ho qualcosa da chiedervi!
Fino ad ora ho sempre fatto singoli EXE per le mie applicazioni ora però
vorrei crearmi una DLL che contiene tutte le mie funzioni che uso di + in
modo che quando faccio un aggiornamento non devo ricorreggerle su tutte le
mie applicazioni ma basta che aggiorni la DLL!
Come si fa a richiamare una funzione in una DLL?
Ciao e grazie!
-- 
Andrea Fabbrucci (da internet)
anfa...@tin.it
--
Posted from 
mta02-acc.tin.it
 [212.216.176.33] 


 Come si fa a richiamare una funzione in una DLL?
guardati l'help sull'istruzione Declare.
Buon lavoro
Sig

 wrote in message
news:8l190m$48f$2...@nslave2.tin.it...


Okkio che parla di una DLL di VB.
scusate, credevo di essere ancora in Delphi... :o)
ho ricontrollato, in effetti si possono creare solo DLL Activex, quindi
aggirare il problema con un modulo di classe...
chiedo venia
Sig


Per essere un po' più esplicativi:
le tue funzioni devi inserirle in un modulo di classe in un progetto di tipo
ActiveX DLL, e dichiararle come pubbliche se vuoi che siano visibili; una
volta compilato con i dovuti settaggi, hai creato una bellissima DLL di tipo
ActiveX che richiede di essere inserita nelle References del progetto in cui
vuoi utilizzarle (se usi l'early-binding), oppure richiamata utilizzando
delle CreateObject (se usi il late-binding). La differenza con le DLL
classiche del C (librerie di funzioni) è che questo tipo di DLL viene
esposto come componente COM e quindi richiede:
- la registrazione sulla macchina in cui vuoi utilizzarla (che è automatica
per la macchina in cui l'hai compilata, ma richiede REGSVR32 per le altre,
oppure un setup specifico che la registri per te);
- l'istanziazione di un oggetto in quanto le tue funzioni risultano "i
metodi" dell'oggetto identificato dalla DLL (e qui la proprietà instancing
settata a global multiuse ti evita di far precedere il nome del metodo con
il nome della classe);
- una gestione "cosciente" del versioning in quanto COM è molto severo da
questo punto di vista (e mi riferisco al tipo di compatibilità che setti
quando vuoi compilare una nuova versione della tua DLL).
Non conosco il tuo grado di conoscenza di VB e COM, ma se non sei
sufficientemente esperto rischi di crearti più problemi che vantaggi.
Un ulteriore metodo potrebbe essere ancora quello (piuttosto rudimentale ma
efficace) di allegarti al progetto tutte le volte che ti serve un modulo con
le tue funzioni, e di mantenerlo aggiornato continuamente. In questo modo
però per aggiornare le funzioni nei vecchi EXE devi tutte le volte
ricompilare.
Ciao
Roberto