Clipper On Line • Ver Tópico - No exported method: PROPS2ARR (Faltou oFont pro browse)

No exported method: PROPS2ARR (Faltou oFont pro browse)

Projeto HwGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 13:28

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 13:45

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor Itamar M. Lins Jr. » 27 Out 2021 13:58

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.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 14:08

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

Meu browse atual do aplicativo em GTWVG:
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:

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor Itamar M. Lins Jr. » 27 Out 2021 14:24

Olá!
Erro velho detectado pelo Gilberto.
http://www.pctoledo.com.br/forum/viewtopic.php?f=46&t=25508&p=149137&hilit=props2arr#p149137

E vc mesmo José Quintas tinha dado a resposta.

Saudações,
Itamar M. Lins Jr.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 14:40

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

   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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor Itamar M. Lins Jr. » 27 Out 2021 18:14

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.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor Itamar M. Lins Jr. » 27 Out 2021 18:19

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.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 18:50

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor Itamar M. Lins Jr. » 27 Out 2021 18:58

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.
Avatar de usuário

Itamar M. Lins Jr.
Colaborador

Colaborador
 
Mensagens: 6951
Data de registro: 30 Mai 2007 11:31
Cidade/Estado: Ilheus Bahia
Curtiu: 312 vezes
Mens.Curtidas: 508 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 19:01

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 19:05

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

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 19:10

Um exemplo mais adequado:

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 19:15

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Error BASE/1004 No exported method: PROPS2ARR

Mensagempor JoséQuintas » 27 Out 2021 19:22

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, multithread, dbfcdx, ADO+MySql, PNotepad
"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 de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18152
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Anterior



Retornar para HwGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 4 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro