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

Ciao a tutti,
ho un programma fatto in VB6 da cui devo estrarre un modulo e mettere tutte
le
sue funzioni in una DLL.
Problemi :
  1) Come si fa una DLL del genere in VB6
  2) Come faccio a caricare tale DLL ed usare
     le funzioni presenti in essa nel mio programma
Vi prego č super urgente aiutatemi.
Ciao.
Rino
--------------------------------
Inviato via 
http://usenet.libero.it

 Vi prego č super urgente aiutatemi.
Questa ovviamente č solo una linea guida, oggi sono un po' incasinato...
ciaociao


 Questa ovviamente è solo una linea guida, oggi sono un po' incasinato...
La mia solita sfortuna!
Cmq grazie mille.


 La mia solita sfortuna!
C'è di peggio!! ;))
ciaociao


 Come richiamo le funzioni presenti nella DLL usando il primo metodo?
RTFM
:)
Davide


n.b. le dll di VB6 sono dll activeX
e non puoi gestirle come contenitori di funzioni/sub standard
comunque
dichiari una variabile
dim <nomevar> as <nomedll>.<nomeclasse>
set <nomevar>= new <nomedll>.<nomeclasse>
poi accedi ai metodi con
<nomevar>.<nomemetodo>
quando la dll non ti serve più
set <nomevar> = nothing
--
bye BlackMagic
ICQ# 85485468

 Ciao a tutti,
...
Se vuoi produrre delle DLL stile API (da utilizzare con Declare), sul sito
comune c'è un componente che permette di farlo:
http://www.it-lang-vb.net/result.asp?dir=0&keyword=cc5&typeric=AND&Tipologia
=Tutte&Categoria=Tutte&NomeFile=File

 e non puoi gestirle come contenitori di funzioni/sub standard
Io ho un'unica DLL e contiene solo Sub/Function standard che chiamo con
risultato=Pippo(...) o Call Pippo
Puoi spiegarti, per favore?

 ROTFL so cosa vuol dire ma RTFM per cosa sta?
Scusa, me l'hai regalata su un piatto d'argento, scusa se ... approfitto
anch'io:
Marg, RTFM! ( con faccina, neh?! ;-) )
http://www.bio.unipd.it/local/internet_docs/tla.html

 ROTFL so cosa vuol dire ma RTFM per cosa sta?
read
the
fuked
manual
http://www.mondochat.it/tla.htm
(un link a caso)
--
Salutoni
Sergio

 Puoi spiegarti, per favore?
Probabilmente BlackMagic voleva dire che
facendo una DLL VB con il normale Wizard, si
fa piu' o meno quello che si farebbe nell'usare un
treno merci per portare una scatola di confetti al
nostro dirimpettaio :-)
Andrea


non sono stato chiaro è vero.
Quello che volevo dire è che le Dll di VB
sono dll ActiveX, le sub/function che richiami
sono metodi di un oggetto, poi che il risultato
sia lo stesso di usare una sub/function di un modulo
su questo non ci piove
per uso standard mi riferivo a scrivere dll come contenitori
da cui accedere alle sub/function con l'istruzione declare
p.s. se ho scritto stronzate fatemelo sapere :-))


> Se vuoi produrre delle DLL stile API (da utilizzare con Declare)
E quindi non sarebbero ActiveX ??
Potrei anche fare a meno di registrarle?


Ma è possibile che in VB non si possa fare una semplice DLL
che contenga funzioni e sub e che non ci sia bisogno di registrarla per
usarla??
SE E'COSI'E'UNO SCHIFO!


 SE E'COSI'E'UNO SCHIFO!
Prima di porsi in maniera cosě netta nei confronti di uno strumento e di un
ambiente, occorrerebbe avere un minimo di nozioni al riguardo.
1) la 'semplice Dll' che tu vuoi non ha niente a che vedere con la
programmazione a oggetti. Quindi perchč vuoi usare un ambiente a oggetti
come VB? Usane un altro e sei a posto, oppure non usare una Dll.
2) la registrazione di Dll č un fondamento dell'ambiente Win32. Se non ti
va, perchč vuoi sviluppare in ambiente Win32?
Ciao
Alberto

 SE E'COSI'E'UNO SCHIFO!
Ma allora se ti serve solo per avere tutte le tue sub insieme e non vuoi
registrare nulla schiaffale tutte in un modulo e quando crei un progetto che
ha bisogno di tali funzioni aggiungi il bas e fine!
ciaociao


 mitico!
Beh, l'ultima non l'ho gradita molto...

Io, oltre a VB, uso anche Delphi come linguaggio di programmazione.
Poichè, con Delphi ho l'opportunità di creare DLL da non registrare
(ed in queste posso fare quante classi voglio),
le quali con un semplice istruzione : LoadLibrary('path della dll'),
sono usabili da un qualsiasi altro programma fatto in Delphi,
PENSAVO che anche VB desse queste possibilità.
Ma a quanto vedo mi sbagliavo.
Smentitemi!!!


 sono metodi di un oggetto
No, non nel mio caso. La sintassi che ho esemplificato è esattamente quella
che uso, come se fossero in un BAS, ripeto.

 Io, oltre a VB, uso anche Delphi come linguaggio di programmazione.
Ecco perché mi suonava familiare il tuo nome... :-)
Andrea


mi riferivo alla proprietà
Instancing del modulo di classe, per
ottenere quello che fai tu devi aver impostato
questa proprietà a GlobalMultiUse,
che rende globali a livello dell'applicazione
le sub/function della tua dll
In pratica è come se vb dichiarasse una
variabile del tipo
dim <nomevar> as new <nomedll>.<nomeclasse>
la prima volta che accedi ad un metodo della classe


 le sub/function della tua dll
Esatto.

 Potrei anche fare a meno di registrarle?
Non lo so, mi sembra difficile: prova se, mettendole nella cartella
dell'eseguibile, il sistema le trova.

 le quali con un semplice istruzione : LoadLibrary('path della dll'),
Attenzione: la LoadLibrary() la puoi usare anche da VB, non ha molto senso
se non nel caso che tu non conosca il percorso della DLL al momento della
compilazione, ma si può fare.
Però questa carica una DLL *standard*, cioè senza classi, solo funzioni e
non serve registrarla.
Le DLL ActiveX al contrario espongono solo oggetti (puoi simulare il
comportamento di una dll standard impostando le classi come GlobalMultiUse).
Vanno registrate, ma tanto che ti frega? Le distribuisci con il setup.
E se proprio ti vuoi fare delle masturbazioni mentali le registri all'avvio
della tua app.
Ciao
--
Math Parser : 
http://www.neodatatype.net
Sito Comune : 
http://www.it-lang-vb.net