ME AJUDEM!!! METHOD OR DATA MEMBER NOT FOUND

USUARIO.EXCLUIDOS 03/08/2007 10:07:43
#229283
Fiz os testes e funcionou desta forma:

Tenha certeza que existe um:

LABEL com o NAME = lblteste

TEXTBOX com o NAME = text1

insira no evento click do command1:

Dim vCorTexto As Integer
vCorTexto = Text1.Text
Lblteste.ForeColor = QBColor(vCorTexto)
With Lblteste
Select Case vCorTexto
Case 0
.Caption = "0 - Preto"
Case 1
.Caption = "1 - Azul"
Case 2
.Caption = "2 - Verde"
Case 3
.Caption = "3 - Ciano"
Case 4
.Caption = "4 - Vermelho"
Case 5
.Caption = "5 - Magenta"
Case 6
.Caption = "6 - Amarelo"
Case 7
.Caption = "7 - Branco"
Case 8
.Caption = "8 - Cinza"
Case 9
.Caption = "9 - Azul Claro"
Case 10
.Caption = "10 - Verde Claro"
Case 11
.Caption = "11 - Ciano Claro"
Case 12
.Caption = "12 - Vermelho Claro"
Case 13
.Caption = "13 - Magenta Claro"
Case 14
.Caption = "14 - Amarelo Claro"
Case Else
.Caption = "15 - Branco Brilhante"
End Select
End With

Com certeza funciona! qualquer coisa posta.


USUARIO.EXCLUIDOS 03/08/2007 11:00:35
#229310
Apaguei o label e coloquei outro e agora funcionou, vai entender?! só que o Form é fechado e eu queria que o mesmo ficasse aberto.

Coloquei um MSGBOX para ver se o caption mudava e muda mesmo, só que depois o form é fechado.

USUARIO.EXCLUIDOS 03/08/2007 11:13:07
#229316
Amigo, a parada é a seguinte, se vc está utilizando apenas um label, não há porque vc estar trabahando com ele como array, neste caso, é só limpar o conteúdo da propriedade Index do label. Agora se vc possui vários labels no form e quer trabalhar como array, então verifique se a sequência da propriedade Index está na ordem correta, ou seja, 0, 1, 2, 3 e assim sucessivamente. Neste caso, use o código postado acima q utiliza o for next (detalhe, vc não precisa se preocupar em saber qual é o último index para usar no For, basta utilizar o método label.ubound, assim
For i = 0 to Label.UBound
)


USUARIO.EXCLUIDOS 03/08/2007 13:08:16
#229343
Resposta escolhida
Citação:

ABDALA escreveu:
Apaguei o label e coloquei outro e agora funcionou, vai entender?! só que o Form é fechado e eu queria que o mesmo ficasse aberto.

Coloquei um MSGBOX para ver se o caption mudava e muda mesmo, só que depois o form é fechado.



Calma cara, há explicação, é porque você tinha criado esse label do tipo array...

Funciona mais ou menos assim, você cria vários labels com o mesmo nome, mas com o Index diferente (olhe a propriedade Index daquele label, pra ele não ser array deve conter nada, vazio, caso tenha zero ou um numero então será array), se um label ou qualquer outro objeto for um array vc deve referenciá-los passando o index:

lblTeste(0).Caption = "bla bla bla"


Sacou?

Isso normalmente acontece "sem querer" quando você copia o objeto (no caso o label), e ao colar o VB dá uma mensagem perguntando se quer criar um array, se colocar que sim, o que já existe terá o index=0 e o criado index=1, e ao colar novamente index=2 e assim por diante...

Qualquer dúvida poste...flw
USUARIO.EXCLUIDOS 03/08/2007 16:15:10
#229385
é isso MATIOLI, nosso colega ABDALA não prestou atenção quanto aos indices, por isso quando ele deletou e pÃÂ's novamente o label o código funcionou, pois ele deletou o label com indice e pÃÂ's outro sem indice, e quando eu falei:


Citação:

JILNEY escreveu:
ABDALA escreveu:
Estranho,
Quando coloco lblTexto. após o ponto aparecem somente as opções COUNT ITEM LBOUND UBOUND .

Tentei colocar lblTexto.Item.Caption e também não deu certo.




esse erro ocorre quando há uma referência errada no nome, ex:

Se no Form não existe uma textbox com o nome text_jasei e vc digitar na janela de código do botão command1

Private Sub Command1_Click()

text_jasei. [ÃÂ']quando vc digitar o . só irá aparecer COUNT, ITEM LBOUND, UBOUND

mas se vc digitar o nome de um textbox que faça parte do Form assim que vc digitar o nome do textbox e digitar o . irá aparecer todas as opções (métodos) referentes ao textbox, isso acontece com todos os controles...textbox, label[ÃÂ']s, command[ÃÂ']s, combo[ÃÂ']s etc



Ele me respondeu que dava um click e aparecia o nome do objeto, realmente aparece, pois sabemos que podemos ter dez labels indexados mas quando clicamos aparece o nome sem indice, porém no tratamento do código devemos colocar o indice

portanto quando só aparecia UBOUND, LBOUND é porque ABDALA só colocava: lbltexto. quando devia colocar lbltexto(1).

então meu colega ABDALA fica atento quanto aos indices tá, pois isto pode dar umas dores de cabeça no futuro
USUARIO.EXCLUIDOS 06/08/2007 07:51:52
#229579

[txt-color=#ff0000]Caras, voces são bons mesmo.
Sou programador em outra linguagem e agora que estou começando no VB, desculpem a minha ignorância.
Valeu a ajuda, agora funciona beleza.
E foi isso mesmo que aconteceu, copiei o label e ele fez a pergunta sobre o array eu estupidamente e sem saber porque dei Ok.
Valeu a dica dos desenvolvedores aí!
Um grande abraço!!![/txt-color]
[S66][txt-backcolor=#3333ff] [/txt-backcolor]
Página 2 de 2 [16 registro(s)]
Tópico encerrado , respostas não são mais permitidas