|
|
|
|
|
Dicas
|
|
Visual Basic (ActiveX/Controles/DLL)
|
|
|
Título da Dica: Identificando as classes existentes em uma DLL
|
|
|
|
Postada em 3/9/2003 por Ð@®l@n
Como descobrir o progID de cada classe existente no componente ?
Para resolver esse problema encontramos uma biblioteca COM chamada TypeLib Information. Podemos então fazer o references para esta biblioteca e utiliza-la para descobrir as classes contidas em uma DLL.
Considerando que temos um form com uma listbox, observe o seguinte código :
Dim x As New TLI.TLIApplication Dim y As TypeLibInfo Dim z As SearchResults Dim w As SearchItem
Set y = x.TypeLibInfoFromFile("C:\teste\teste.dll") List1.AddItem y.Name Set z = y.GetTypes()
For Each w In z List1.AddItem w.Name Next
O método TypeLibInfoFromFile carrega a type library contida em uma DLL, resultando em um objeto do tipo TyhpeLibInfo. A propriedade Name que adicionamos na listbox é o nome da biblioteca, ou seja, a 1a parte do progID.
Em seguida utilizamos o método GetTypes para obter os tipos (classes) contidos dentro da type library e fazemos um for/each para inseri-los na listbox.
|
|
|
|
|