Newsgroup: it.comp.lang.visual-basic
Titolo: Ottenere i metodi e le proprietà di un oggetto

Esiste un funzione per ottenere i metodi e le proprietà disponibili
di un oggetto?
In Visual Lisp (AutoCad) esiste:
(vlax-dump-object (vla-get-activedocument (vlax-get-acad-object)) T)
 IAcadDocument: An AutoCAD drawing
 valori della proprietà:
   Active (RO) = -1
   ActiveDimStyle = #<VLA-OBJECT IAcadDimStyle 0e8e2694>
...
 metodi supportati:
   Activate ()
   AuditInfo (1)
...
C'è qualcosa di simile?
Grazie.
M.


VB6 o VB.Net?
Ciao 

> VB6 o VB.Net?
A me servirebbe una cosa simile per vb6 (scusate l'intromissione).

 A me servirebbe una cosa simile per vb6 (scusate l'intromissione).
Per VB6 è un casino.
Esiste una sola soluzione che usai una volta per cui qui si va a memoria.
C'è una dll da usare come riferimento nel progetto vb che si chiama 
tlbinfo.dll e che è pochissimo documentata, dovrebbe essere nascosta nel cd 
di vb da qualche parte.
Il file di help non so ricordo se c'è nel cd.
Se non è tutto nel cd trovarlo in rete sarà difficilissimo.
Ciao

 si chiama tlbinfo.dll
Probabilmente mi sbaglio: cerca Tlbinf32.dll
http://support.microsoft.com/?scid=kb%3Ben-us%3B224331&x=12&y=15
Ciao 

 
http://support.microsoft.com/?scid=kb%3Ben-us%3B224331&x=12&y=15
e alloraaa...
http://msdn.microsoft.com/msdnmag/issues/1200/TypeLib/
Ciao 

Grazie,
per il momento sto lavorando "solo" con il VBA di SolidWorks.
Ad esempio c'è un oggetto "Feature" che a seconda del tipo
può avere o no certi metodi/proprietà e per me sarebbe
utile sapere quali sono per l'oggetto che sto elaborando.
Grazie ancora.
M.

 
http://msdn.microsoft.com/msdnmag/issues/1200/TypeLib/
Mi sono letto un po' di "roba" senza capire gran che
e credo che quelle funzioni non siano utilizzabili nel "semplice" VBA.
Ho provato quindi a fare un (pazzesco) giro di Lisp da AutoCAD
(con il quale ho più familiarità) ed ho scoperto:
(vlax-dump-object
  (vlax-get-object "SldWorks.Application")
  T
)
; l'oggetto non supporta l'interfaccia ITypeInfo
(vlax-dump-object
  (vlax-get-property (vlax-get-object "SldWorks.Application") 'ActiveDoc)
  T
)
; l'oggetto non supporta l'interfaccia ITypeInfo
Quindi credo che questi oggetti di SolidWorks non siano visibili
nemmeno con il metodo che mi hai indicato che utilizza appunto
oggetti TypeInfo.
Grazie comunque.
Ciao.

 oggetti TypeInfo.
Purtroppo non capisco un tubo di Lisp, ma il messaggio d'errore mi pare 
indichi un uso errato.
Che gli oggetti SldWorks non supportino ITypeInfo è abbastanza scontato, il 
fatto è che devi instanziare una classe di tipo TypeLibInfo che sarà poi 
quella che va a leggere le classi COM.
Nel link indicato viene descritto abbastanza chiaramente:
Dim tliTypeLibInfo as TLI.TypeLibInfo
Set tliTypeLibInfo = New TypLibInfo...Poi con 'sta classe devi recuperare le 
info delle tue classi specifice, ad es. "SldWorks.Application".Come si 
faccia questo mi sembra di ricordare che sia spiegato nell'help anche se non 
in modo chiarissimo.Ciao

> se VBA può riferirsi a quella dll allora sono utilizzabili.
Rispondo per:
1) ringraziardi per la pazienza
2) informare chi interessato (prob. nessuno) che la DLL
   TlbInf32.dll non esiste (nel mio sistema) e quasi
   sicuramente fa parte di VB6
Ciao.

    sicuramente fa parte di VB6
Acc... sì, è distribuita solo con vb5/6 e pensavo che nel primo link che ho 
dato ci fosse anche la dll, invece c'è solo l'help :(
Però la dll la puoi reperire grattando il fondo di google, ad es. qui trovi 
un esempio di quello che vuoi fare che contiene pure 'sta dll
http://vbcity.com/page.asp?p=source
scarica  TIBrowse.zip
Ciao

 2D Parametric for 2000-2008 <
(strcat "I like " (substr (ver) 8 4) "!")
--

 Addirittura qualcuno dice che VBA č OT!
VBA č OT, ma la cortesia e il resto dipende dalle domande.
Se sono compatibili con VB non sono cosě OT.
Se vanno oltre al "come si fa a sommare 1 alla var X" io cerco di aiutare 
anzichč di insultare.
Ciao