No exported method: PROPS2ARR (Faltou oFont pro browse)

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

AUTOEDIT parece ser pra outra coisa.

Então a pergunta é:

Como fazer um browse sem edição, ou qual outro controle serve pra isso?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

Sinceramente....

Não sei se resolvi ou se estraguei, me sinto como se fosse o único usuário de hwgui, já que usar um browse parece algo muito comum.

Também não sei se é esse browse mesmo, já que tem outro browse na hwgui.

Só sei que alterei aqui e não dá mais erro.
hwgui.png
Ou talvez seja obrigatório definir um fonte, e não existe fonte default.
Ou talvez a falta de uma Main() hwgui deixe isso sem default.

Só sei que algum fonte default foi usado, senão não apareceria o browse.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por Itamar M. Lins Jr. »

Olá!
Pois é, como vc está usando/testando de uma formar diferente. O método PROPS2ARR não estava ativado, e eu mesmo não uso array, quando testei funcionou. Mas isso tem um tempo.
Por isso, acredito que essa IF !NIL ... resoveu o BO, para seu caso específico.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

Eu não gosto de complicação, fazer o que....

Meu browse atual do aplicativo em GTWVG:

Código: Selecionar todos

METHOD GridSelection() CLASS JPTABCFOPClass

   LOCAL oTBrowse

   WITH OBJECT ::cnSQL
      :Execute( "SELECT * FROM JPTABCFOP ORDER BY CFOPNOME" )
      oTBrowse := { ;
         { "CFOP", { || :String( "IDCFOP", 6 ) } }, ;
         { "NOME",   { || :String( "CFOPNOME", 60 ) } } }
      BrowseADO( ::cnSQL, oTBrowse, "CFOPNOME", { || :String( "IDCFOP" ) } )
      :CloseRecordset()
   ENDWITH

   RETURN NIL
o browse que montei em hwgui como teste:

Código: Selecionar todos

PROCEDURE PTESHWGUI( cModule, cTitle, ... )

   LOCAL cnSQL := ADOLocal(), oBrowseList

   WITH OBJECT cnSQL
      :Execute( "SELECT * FROM JPTABCFOP" )
      oBrowseList := { ;
         { "CFOP", { || :String( "IDCFOP", 6 ) } }, ;
         { "NOME", { || :String( "CFOPNOME", 60 ) } } }
      hwguiBrowse( cTitle, cnSQL, oBrowseList )
      :CloseRecordset()
   ENDWITH

   ( cModule )

   RETURN
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por Itamar M. Lins Jr. »

Olá!
Erro velho detectado pelo Gilberto.
https://pctoledo.org/forum/viewto ... rr#p149137

E vc mesmo José Quintas tinha dado a resposta.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

Pequena alteração pra confirmar resultado, deu certo:

Código: Selecionar todos

   WITH OBJECT cnSQL
      :Execute( "SELECT * FROM JPTABCFOP" )
      oBrowseList := { ;
         { "CFOP", { || :String( "IDCFOP", 6 ) } }, ;
         { "NOME", { || :String( "CFOPNOME", 60 ) } } }
      hwguiBrowse( cTitle, cnSQL, oBrowseList )
      MsgExclamation( :String( "CFOPNOME" ) )
      :CloseRecordset()
   ENDWITH
Mostrou o nome correto de onde cliquei, o recordset está posicionado aonde era pra estar.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por Itamar M. Lins Jr. »

Olá!
Precisa debugar o retorno daqui. -> oDlg := Atail( HDialog():aModalDialogs
Se volta NIL ou EMPTY() -> " " ou etc.
Entre parenteses não força analisar o .OR. ?

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por Itamar M. Lins Jr. »

Olá!
A linha toda:
IF ( ( oDlg := Atail( HDialog():aModalDialogs ) ) == Nil .OR. oDlg:handle != handle ) .AND. ( oDlg := HDialog():FindDialog( handle ) ) == Nil

Está dentro do parêntesis. Se Atail( HDialog():aModalDialogs ) ) voltar outra coisa que não seja NIL e não seja objeto ? E mesmo assim esse parêntesis acredito que força a avaliação do .OR.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

Itamar M. Lins Jr. escreveu:E mesmo assim esse parêntesis acredito que força a avaliação do .OR.
isto AND aquilo => qualquer falso resolve, se o primeiro for falso, é perda de tempo analisar o segundo
isto OR aquilo => qualquer verdadeiro serve, se o primeiro for verdadeiro, é perda de tempo analisar o segundo

A otimização existe nos dois casos, mas depende do verdadeiro/falso de cada um

No caso da HWGUI, se retornar Nil, já resolveu a questão do "um ou outro", e não testa oDlg:Handle.

Acho que você se confundiu por causa do tipo de teste verdadeiro/falso que são diferentes no .AND. e .OR..

E por isso falei antes, que estava esquisito, porque eu também estava tentando entender isso dos parênteses que pareciam no lugar errado.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
Itamar M. Lins Jr.
Administrador
Administrador
Mensagens: 7928
Registrado em: 30 Mai 2007 11:31
Localização: Ilheus Bahia
Curtiu: 1 vez

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por Itamar M. Lins Jr. »

Olá!
Tá bom, vamos por sua analise.
Então quando é que ele entra aqui: .OR. oDlg:handle != handle ?

Pq se entrar oDlg precisa ser objeto precisa ser uma DIALOG. E o erro é ai.
Se for da forma que vc está falando essa opção não faz sentido pq nunca será avaliada.

Saudações,
Itamar M. Lins Jr.
Saudações,
Itamar M. Lins Jr.
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

Faltou dizer:

aDlg := Atail(...)
Isso é pra pegar o último elemento do array.
Ou retorna o elemento, ou Nil se não tem nada.

E o array é a lista de Dialogs modal da hwgui, então com certeza, ou é Nil, ou é uma Dialog modal.
Vai fazer o .OR. oDlg quando oDlg contiver uma dialog, e a dialog vai ter handle.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

Mais simples, apesar que o Harbour vai impedir o b := "minhoca" por ser inútil.

Código: Selecionar todos

b := "minhoca"
a := { 1, 2, 3 }

IF ( b := Atail( a ) ) == Nil .OR. b != 4
   ? "Não achou 4"
ENDIF
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

Um exemplo mais adequado:

Código: Selecionar todos

a := { ;
   { 1, 1 }, ;
   { 2, 2 } }

IF ( b := Atail( a ) ) == Nil .OR. b[ 2 ] != 3
Só executar isso com esse conteúdo, e depois com a := {}
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

teste.png
Não deu erro em nenhum dos dois, apesar de no segundo caso não existir b[2]
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Error BASE/1004 No exported method: PROPS2ARR

Mensagem por JoséQuintas »

teste.png
Ampliado pra dois possíveis erros.
Mas a otimização não deixa dar erro.
Comparar array com letra não dá.

Agora ficou bem próximo do que hwgui faz naquele pedaço. (mas aqui tem erro proposital, lá não).
José M. C. Quintas
Harbour 3.2, mingw, gtwvg mt, fivewin 25.04, multithread, dbfcdx, MySQL, ADOClass, PDFClass, SefazClass, (hwgui mt), (hmg3), (hmg extended), (oohg), PNotepad, ASP, stored procedure, stored function, Linux (Flagship/harbour 3.2)
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Responder