Erro ao montar 2 Browses

Post Reply
Soares289
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP

Erro ao montar 2 Browses

Post by Soares289 »

Estou tendo um erro sempre que tento montar dois browses na mesma janela.

O código basicamente faz o seguinte.
* da use na tabela de cadastro de clientes
* da use na tabela campos
* adiciona no primeiro browse somente as colunas da tabela de cadastro especificadas na tabela campos
* da use na tabela cadastro de fornecedores
* adiciona no browse dois as colunas da tabela de cadastro de fornecedores especificadas na tabela campos
* fecha a tabela campos
* Cria apartir do código os dois browses

Mais quando troco de browse ( as vezes nem chega a carregar ) da um erro.
Eu acredito que seja por que o browse tenta atualizar o conteudo mais a tabela do outro browse está selecionada, mais não concegui achar um evento que ocorre quando o browse recebe o fóco.

A mensagem de erro que aparece é a seguinte.
"Erro BASE/1003 Variable does not exist: ccodcli from errosys,line 158"

e o compilador diz que o erro está na seguinte linha
"oCol:bStrData := { || &wfname }"


Alguém ai já teve esse problema e sabe como resolvelo?
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Post by Antonio Linares »

Donde usas ccodcli en tu programa ?

Es una variable ó es un campo de una DBF ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
Soares289
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP

Post by Soares289 »

O ccodcli é um campo da tabela cadcli (cadastro de clientes), eu conecto ao banco de dados usando SQLRDD
Soares289
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP

Post by Soares289 »

O problema é basicamente que quando o browse recebe o focus, a tabela selecionada é diferente da que estava quando ele foi carregado, então ele tenta atualizar o conteudo das colunas e não encontra _ que havia quando ela foi criada.

Se tiver um evento que ocorre quando o browse recebe o fóco, eu poderia selecionar de novo a tabela de quando ele foi criado.
User avatar
Maurilio Viana
Posts: 252
Joined: Tue Oct 25, 2005 2:48 pm
Location: Garça/Garza/Heron City - Brazil
Contact:

Post by Maurilio Viana »

E se vc colocar pra selecionar a tabela no GotFocus?
Assim:

oBrow:bGotFocus := {|| select(xxxxxxx) }


[ ]s
Maurilio
Soares289
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP

Post by Soares289 »

Eu coloquei no oBrw:bGotFocus o select da tabela usada pelo o browse, mais continua ocorrendo o mesmo erro, como se o campo não existisse, mais na hora em que o Browse está sendo montado isso não acontece, só quando ele recebe o fóco.
Não existe um outro eveto que ocorre antes? ou alguma coisa que possa ser mudada no browse?

Bom, de qualquer forma, muito obrigado pela ajuda.
Um abraço, T+.
User avatar
Maurilio Viana
Posts: 252
Joined: Tue Oct 25, 2005 2:48 pm
Location: Garça/Garza/Heron City - Brazil
Contact:

Post by Maurilio Viana »

Tente usar:

oBrw:cAlias := "xxxxx" // xxxxx=alias da sua tabela

E, pelo que vemos, vc está usando macrossubstituição pra montar _... Eu não usaria assim, colocaria _ diretos no bloco de código {|| arq->campo1}, etc etc etc

[ ]'s
Maurilio
Soares289
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP

Post by Soares289 »

Bom, Maurilio. Eu tentei fazer dessa forma, mais continua com o problema, eu vou fazer alguns testes sem uasr a subistituição por macro.

Eu só não entendo por que o macro pode vir a interferir? Eu comecei a trabalhar com xHarbour e FiveWi a pouco tempo e não conheço muito a linguagem, e menos ainda o fivewin.
Macro para mim é novidade, meu patrão que pediu para usar, pois ele quer que o browse se ajuste a qualquer tabela que ele quizes :~~, mais acredito que exista outras formas de fazer isso.

Obrigado pela ajuda, T+.
Soares289
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP

Post by Soares289 »

:D Eu concegui faze funcionar, eu de vez de selecionar a tabela e depois adicionar o campo, na variavel que anotava o nome do campo já coloquei [Nome da Tabela]->[Nome do campo] com o sinal de macro, agora está funcionando, montei com mais de 4 browses na tela e funcionou.

Obrigado pela ajuda, flw.
Post Reply