COMPILAR DLL

USUARIO.EXCLUIDOS 06/06/2005 10:11:35
#87209
Pessoal preciso ajudo no seguinte aspecto

tenho uma rotina em uma classe que serve para encher a listview de acordo com uma instrucao SQL ... pois bem ela funciona corretamente qdo a classe esta no meu projeto ...
mais qdo tento compilar essa classe como DLL da um erro e naum compila

segue a parte da DLL e o Erro gostaria que vcs me ajudassem nesse sentido

Public Sub Enche_lista(Lst As ListView, Strsql)


If Rs.State = adStateOpen Then Rs.Close
Rs.Open Strsql, Cn, adOpenDynamic, adLockOptimistic

Lst.ListItems.Clear
If Rs.EOF Or Rs.BOF Then
Exit Sub
Else
Rs.MoveFirst
Contador = 1
While Not Rs.EOF
For i = 0 To Rs.Fields.Count - 1
If i = 0 Then
Lst.ListItems.Add , , Rs.Fields(i)
Else
If Not IsNull(Rs.Fields(i)) Then Lst.ListItems(Contador).SubItems(i) = Trim(Rs.Fields(i))

End If

Next
Rs.MoveNext
Contador = Contador + 1
Wend
End If


End Sub


o erro que da qdo compilo é o seguinte: Private object Modules cannot use in public object modules as paramter or return type for public procedures , as public datamembers, or as field use public defined types ...

parece que ele naum aceita a declaracao lst as listview ... alguém sabe como eu devo proceder ??
USUARIO.EXCLUIDOS 06/06/2005 10:17:02
#87212
você esta declarando ela como?? talvez tenha que declarar como:
Public lst as listview
USUARIO.EXCLUIDOS 06/06/2005 10:20:19
#87214
eu ja fiz isso tb .... ai o erro passa a ser nessa linha ....
mais o erro é o msm
USUARIO.EXCLUIDOS 06/06/2005 10:34:56
#87219
você fez assim:
Public Sub Enche_lista(Strsql as string)
Public Lst as Listview

If Rs.State = adStateOpen Then Rs.Close
Rs.Open Strsql, Cn, adOpenDynamic, adLockOptimistic

Lst.ListItems.Clear
If Rs.EOF Or Rs.BOF Then
Exit Sub
Else
Rs.MoveFirst
Contador = 1
While Not Rs.EOF
For i = 0 To Rs.Fields.Count - 1
If i = 0 Then
Lst.ListItems.Add , , Rs.Fields(i)
Else
If Not IsNull(Rs.Fields(i)) Then Lst.ListItems(Contador).SubItems(i) = Trim(Rs.Fields(i))

End If

Next
Rs.MoveNext
Contador = Contador + 1
Wend
End If
End Sub
USUARIO.EXCLUIDOS 06/06/2005 10:44:36
#87222
isso em DLL naum vai funcionar kra !! eu precisaria definir entao um property let para invocar a LST

mais vou tentar
USUARIO.EXCLUIDOS 06/06/2005 10:47:45
#87224
o vb retorna erro qdo se tenta declarar uma variavel como componente dentro de uma classe publica (para virar DLL evidentemente)
USUARIO.EXCLUIDOS 06/06/2005 11:11:16
#87231
ja resolvi a treta !!!!
Tópico encerrado , respostas não são mais permitidas