COMPILAR DLL
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 ??
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 ??
você esta declarando ela como?? talvez tenha que declarar como:
Public lst as listview
Public lst as listview
eu ja fiz isso tb .... ai o erro passa a ser nessa linha ....
mais o erro é o msm
mais o erro é o msm
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
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
isso em DLL naum vai funcionar kra !! eu precisaria definir entao um property let para invocar a LST
mais vou tentar
mais vou tentar
o vb retorna erro qdo se tenta declarar uma variavel como componente dentro de uma classe publica (para virar DLL evidentemente)
ja resolvi a treta !!!!
Tópico encerrado , respostas não são mais permitidas