|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Jan 2009
Città: Milano
Messaggi: 10
|
[VB6] Conoscere i metodi e le proprietà delle DLL
Ciao, ho bisogno del codice in vb6 per conoscere i metodi e le proprietà delle DLL.
cioè devo fare quello che in java si chiama reflection. lo scopo è: copiare 2 oggetti la funzione copia_oggetto accetterà 2 parametri in input di tipo Object uguali. ciclo tutti i metodi e tutte le property del primo oggetto e le copio nel secondo. in java si accede alla classe dell'oggetto con il metodo getClass() , poi ai suoi metodi con getMethods() , ma in vb6 non ho idea di come si faccia... su internet non ho trovato codice, nemmeno discussioni che soddisfassero le mie richieste.. confido in voi :-) grazie anticipate |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
In VB6 devi usare la TypeLib Information, che fa capo alla dll :
C:\WINDOWS\system32\TLBINF32.DLL Prima aggiungi il reference al progetto VB6, poi la usi via codice. Ad esempio questo codice essenziale mostra come ricercare su disco la DLL da esaminare e ritorna i nomi delle classi contenute nella DLL stessa ( richiede una ListBox... ) : Codice:
Dim tliTypeLibInfo As TLI.TypeLibInfo
Set tliTypeLibInfo = New TypeLibInfo
tliTypeLibInfo.ContainingFile = percorsoDll & nomeFileDll
Dim tliTypeInfo As TypeInfo
MsgBox (tliTypeLibInfo.TypeInfoCount)
For Each tliTypeInfo In tliTypeLibInfo.TypeInfos
List1.AddItem (tliTypeInfo.Name)
List1.AddItem ("")
Next
|
|
|
|
|
|
#3 | |
|
Junior Member
Iscritto dal: Jan 2009
Città: Milano
Messaggi: 10
|
Quote:
Cmq volevo assicurarmi che tu abbia capito bene il mio problema: ho bisogno di sapere le proprietà e i metodi public di una classe di una dll. Se proprio devo dirla tutta la dll la conosco già perchè di fatto l'ho creata io, ma ho intenzione di creare un metodo che faccia la copia delle variabili da una classe all'altra ( ovviamente se la classe prevede tale property e soprattutto se la property è dello stesso tipo ). Ancora grazie per la risposta, proverò ancora con la DLL che mi hai suggerito e ti farò sapere |
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 11:10.




















