USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  Datasource de objeto texto em tempo de execução
Everton Nog
SANTA CRUZ DO RIO PARDO
SP - BRASIL
ENUNCIADA !
Postada em 29/06/2007 12:48 hs            

Pessoal...to com o seguinte problema:

tenho um objeto texto ligado a um datacontrol e preciso saber a qual objeto datacontrol o text esta ligado em tempo de execução

 

Exemplo:

‘na propriedade DataSource do text1 tem o seguinte valor “Data1”

msgbox Text1.DataSource

 

erro:

Run time error 13

type mismatch

 

Muito Obrigado desde já

TÓPICO EDITADO
 
Everton Nog
SANTA CRUZ DO RIO PARDO
SP - BRASIL
Postada em 29/06/2007 17:31 hs            

Parece uma duvida boba pessoal...mas isso é fundamental em uma função que criei q ira definir as propriedades maxlenght de todos objetos text ligados a um data control automaticamente, a função esta pronta...só preciso conseguir capturar o que tem na propriedade datasource do text....imagina um sistema com mais de 100 telas  que com uma função só vc podera estabelecer todos maxlenght de todos texts de todos forms, ....assim q resolver esta duvida posto a função aqui...muito obrigado a quem puder ajudar...

     
Ama
Pontos: 2843
UBERLÂNDIA
MG - BRASIL
ENUNCIADA !
Postada em 29/06/2007 20:52 hs         
entao vamos lá inclua a referencia a dll TLBINF32.DLL depois execute o codigo
 chamada a função iterateMembers Text1
Sub iterateMembers(obj As Object)
    Dim TLI As New TLIApplication, ret As Variant
    Dim interface As InterfaceInfo
    Dim member As MemberInfo
    Dim strDtSrc
    Dim strData As String
   
    On Error Resume Next
    Set interface = TLI.InterfaceInfoFromObject(obj)
    Dim index As Long, tempstr As String, idxPos As Long
    ReDim str(interface.Members.Count) As String
    index = 0
    For Each member In interface.Members
        tempstr = ""
        tempstr = tempstr & member.Name & vbTab & member.VTableOffset & vbTab & Hex$(member.MemberId) & _
                vbTab & member.HelpString
        'get property value; using memberID is faster than member.Name
        ret = TLI.InvokeHook(Text1, member.MemberId, INVOKE_PROPERTYGET)
        'adjust long values; convert to hex (else shows neg value)
        If TypeName(ret) = "Long" Then
            ret = "&H" & Hex(ret) & "&"
            tempstr = tempstr & vbTab & ret & vbTab & "long"
        Else
            tempstr = tempstr & vbTab & ret & vbTab & TypeName(ret)
        End If
        'store row data in array
        If Mid$(tempstr, 1, 10) = "DataSource" Then
            idxPos = index
        End If
        str(index) = tempstr
        index = index + 1
    Next
    Set TLI = Nothing
    strDtSrc = Split(str(idxPos))
    strData = Mid$(strDtSrc(18), 2)
    strDtSrc = Split(strData, vbTab)
End Sub
   
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2022   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página