Erro ao montar 2 Browses

Erro ao montar 2 Browses

Postby Soares289 » Fri Apr 20, 2007 3:08 pm

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?
Soares289
 
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP

Postby Antonio Linares » Sat Apr 21, 2007 7:55 am

Donde usas ccodcli en tu programa ?

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41314
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby Soares289 » Mon Apr 23, 2007 11:47 am

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

Postby Soares289 » Mon Apr 23, 2007 2:47 pm

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 os campos 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.
Soares289
 
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP

Postby Maurilio Viana » Mon Apr 23, 2007 8:21 pm

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

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


[ ]s
Maurilio
User avatar
Maurilio Viana
 
Posts: 252
Joined: Tue Oct 25, 2005 2:48 pm
Location: Garça/Garza/Heron City - Brazil

Postby Soares289 » Mon Apr 23, 2007 8:53 pm

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+.
Soares289
 
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP

Postby Maurilio Viana » Tue Apr 24, 2007 11:07 am

Tente usar:

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

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

[ ]'s
Maurilio
User avatar
Maurilio Viana
 
Posts: 252
Joined: Tue Oct 25, 2005 2:48 pm
Location: Garça/Garza/Heron City - Brazil

Postby Soares289 » Wed Apr 25, 2007 12:18 pm

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

Postby Soares289 » Thu Apr 26, 2007 1:35 pm

: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.
Soares289
 
Posts: 30
Joined: Tue Apr 17, 2007 7:07 pm
Location: Brasil-São Paulo-SP


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 85 guests