Clipper On Line • Ver Tópico - Browse com ADO

Browse com ADO

Aqui você poderá oferecer suas Contribuições, Dicas e Tutoriais (Texto ou Vídeo) que sejam de interesse de todos.

Moderador: Moderadores

 

Browse com ADO

Mensagempor cjp » 04 Set 2020 23:41

O problema é que eu não uso set cursor off em nenhum momento. Então, não faço ideia do que possa estar causando o sumiço do cursor.

Testei com setcursor(nCursor), também não resolveu.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Browse com ADO

Mensagempor Vlademiro » 05 Set 2020 13:00

Nesse caso, a única coisa que me ocorreu é vc estar usando várias libs, tipo hmg, gtwvt, gtwvw, etc. Eu não conheço essas libs , só a hmg mas nunca misturei.

Eu acho que é isso, mas não tenho experiência, é só achismo mesmo.
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Browse com ADO

Mensagempor cjp » 05 Set 2020 22:26

De fato uso várias libs:

-lxhb
-lhbwin
-lhbtip
-lhbct
-lhbHPdf
-lhbZebra
-lhbmisc
-llibmysql
rddsql.hbc
sddodbc.hbc
hbssl.hbc
hbtip.hbc


Nem sei se preciso de todas elas, vou acrescendo à medida que surge uma nova função que preciso, quase sempre por recomendação de alguém aqui do fórum.

Será que o problema poderia estar sendo causado por alguma dessas?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Browse com ADO

Mensagempor Vlademiro » 06 Set 2020 00:07

Eu me referi a libs gráficas, mas pelo visto vc não está usando...
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Browse com ADO

Mensagempor Vlademiro » 06 Set 2020 09:24

Realizei um pequeno teste mas vi que o mesmo programa se comporta diferente no Clipper 5.2e e no Harbour 3.2

O teste :

Um programa simples que irá desativar o cursor de dentro do READ (dentro de uma função valid)

Eis o programa :


PROCEDURE MAIN

    LOCAL GetList := {}
    LOCAL cNome := SPACE(40)
    LOCAL cPessoa := SPACE(1)
    LOCAL cObs := cObs2 := SPACE(40)
   
   
    SET( _SET_CURSOR , 0 )
       
    #ifdef __PLATFORM__WINDOWS
        ? "Setmode : " , SetMode(50,150)
    #endif
    CLS
   
    @ 05,03 SAY "Nome       : " GET cNome VALID ( ALERT( "O CURSOR E " + str(SET( _SET_CURSOR) ) ) , .T. )
    @ 07,03 SAY "Pessoa     : " GET cPessoa VALID ( ALERT( "O CURSOR E " + str(SET( _SET_CURSOR) ) ) , .T. )
    @ 09,03 SAY "Observacao : " GET cObs VALID TESTCURSOR()
    @ 11,03 say "Outra obs  : " GET cObs2 VALID ( ALERT( "O CURSOR E " + str(SET( _SET_CURSOR) ) ) , .T. )
    SET( _SET_CURSOR , 1 )
    ALTD()   
    READ
    SET( _SET_CURSOR , 0 )

RETURN

FUNCTION TESTCURSOR

    ALERT("VOU APAGAR  CURSOR")
    SET( _SET_CURSOR , 0 )

    RETURN .T.


1. No Harbour ele não desativa o Cursor (harbour 3.2 32bits compilado com gcc 5.3)

001.png


2. No Clipper 5.2e ele desativa o cursor de dentro do Valid conforme o esperado.

Nota: eu compilei com o MS-DOS não virtualizado, dei o boot por um pendrive.
003.jpg


Conclusão: o comportamento de um cursor de dentro de um get funciona diferente no harbour. Será que é a versão do Harbour que eu compilei aqui ? Alguém poderia testar esse exemplo que eu coloquei só para confirmar ?
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Browse com ADO

Mensagempor cjp » 06 Set 2020 21:19

Eu testei aqui, compilando com o Harbour. No próprio programa-teste não tirou o cursor, mas tirou o cursor do DOS depois de fechado. Era isso?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Browse com ADO

Mensagempor Vlademiro » 06 Set 2020 21:48

Não. No clipper ele tira o cursor dentro da própria aplicação. No Harbour ele não consegue tirar o cursor dentro da aplicação.
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Browse com ADO

Mensagempor JoséQuintas » 06 Set 2020 22:40

Esqueça o SET CURSOR OFF
Talvez na função de usuário do tbrowse colocar SET CURSOR ON, apesar que procurei nos fontes do tbrowse e não achei nada sobre cursor.
Lembro que no Clipper o cursor era desligado no tbrowse, é possível que o Harbour faça igual.

Ou mais ainda:
O que fez de diferente nesse tbrowse? provavelmente tem a ver.
Se foi função de usuário.... é colocar o SET CURSOR ON lá.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Browse com ADO

Mensagempor cjp » 06 Set 2020 23:02

Não tenho função de usuário nesse tbrowse.
Mas tenho sim várias funções chamadas nele, usando if nkey==.
Mas em nenhuma delas eu uso set cursor off. Teria qualquer outra coisa que causaria o sumiço do cursor para eu procurar?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Browse com ADO

Mensagempor Vlademiro » 06 Set 2020 23:25

CJP, olha esse vídeo com o programa compilado em clipper 5.2e



Com Harbour não funciona. No Harbour o setcursor não funciona dentro de gets, testei no linux também. Agora quando saimos do programa o cursor do Console do windows "some".
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Browse com ADO

Mensagempor Vlademiro » 06 Set 2020 23:28

cjp escreveu:Não tenho função de usuário nesse tbrowse.
Mas tenho sim várias funções chamadas nele, usando if nkey==.
Mas em nenhuma delas eu uso set cursor off. Teria qualquer outra coisa que causaria o sumiço do cursor para eu procurar?


Não conheço outra forma. Muito esquisito isso...
Avatar de usuário

Vlademiro
Usuário Nível 4

Usuário Nível 4
 
Mensagens: 749
Data de registro: 11 Jul 2005 02:46
Curtiu: 22 vezes
Mens.Curtidas: 62 vezes

Browse com ADO

Mensagempor cjp » 07 Set 2020 01:23

Pois é, não sei o que fazer.
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Browse com ADO

Mensagempor JoséQuintas » 07 Set 2020 09:51

cjp escreveu:Mas em nenhuma delas eu uso set cursor off. Teria qualquer outra coisa que causaria o sumiço do cursor para eu procurar?


Pense ao contrário: o tbrowse retira o cursor
Você É OBRIGADO a colocar SET CURSOR ON
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Browse com ADO

Mensagempor cjp » 07 Set 2020 11:58

Mas veja que estou colocando o set cursor on (ou o setcursor(nCursor)) no início, e mesmo assim o cursor não está aparecendo logo de início, antes mesmo de teclar qualquer tecla no tbrowse (ou seja, antes mesmo de ele executar qualquer função chamada de dentro do tbrowse). Como pode isso?
Inacio de Carvalho Neto
cjp
Usuário Nível 6

Usuário Nível 6
 
Mensagens: 1527
Data de registro: 19 Nov 2010 21:29
Cidade/Estado: paraná
Curtiu: 10 vezes
Mens.Curtidas: 20 vezes

Browse com ADO

Mensagempor JoséQuintas » 07 Set 2020 14:38

Aí complicou.
Lembra de alguma alteração recente?
Procure em todos os fontes se colocou pra teste "SET CURSOR"
De repente começou a colocar SET CURSOR ON e SET CURSOR OFF, e acabou deixando em algum lugar.
Ou wvt_SetGui() ou outra coisa.

Nota: pelo editor de textos, geralmente tem a opção de procurar em todos os fontes de uma vez.
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: 18013
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1206 vezes

Anterior Próximo



Retornar para Contribuições, Dicas e Tutoriais

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 20 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