Rotina em Segundo Plano - Thread

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

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

Rotina em Segundo Plano - Thread

Mensagem por JoséQuintas »

Mas se fizer isso, não vai ser o mesmo do que ter janela única sem multithread?

Ou deixei de entender alguma coisa?

Outra opção, é até usada nos exemplos da GTWVG, que é "transferir" teclado/mouse entre janelas.
Desta forma, a janela anterior fica travada até a atual ser liberada
Aquele hb_gtSelect()

Mas se for pra ter uma janela por vez, ou um processamento por vez, o multithread perde o sentido.
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/
Christian_Marchiori
Usuário Nível 1
Usuário Nível 1
Mensagens: 2
Registrado em: 05 Abr 2017 22:54
Localização: Apucarana - Paraná

Rotina em Segundo Plano - Thread

Mensagem por Christian_Marchiori »

Vou explicar melhor cenário.
Tem um software grande desenvolvido em harbour aqui. Me pediram pra que seja possível abrir mais de uma opção do menu ao mesmo tempo, mas não querem em varias janelas, querem tudo na mesma janela e cada opção do menu deve abrir como uma "aba", tipo o chrome, mas com limite de 10 abas. Deve ter a possibilidade de alternar entre as abas e voltar pro menu. Quando o usuário voltar para uma aba aberta anteriormente, deve permanecer os dados conforme ele deixou antes de sair dela, gets, posicionamento do browse, etc..

Diante dessas especificações, achei que talvez seria melhor abrir cada opção do menu em uma thread, mas não sei se seria a melhor abordagem, foi oque me veio em mente.
O menu que existe atualmente é baseado neste exemplo: https://github.com/harbour/core/blob/ma ... /menu1.prg

Qualquer ideia pra solucionar esse problema é bem vinda ^^
Avatar do usuário
JoséQuintas
Administrador
Administrador
Mensagens: 20267
Registrado em: 26 Fev 2007 11:59
Localização: São Paulo-SP

Rotina em Segundo Plano - Thread

Mensagem por JoséQuintas »

Na mesma janela vai ser complicado, a menos que descubra como funciona o componente tab da gtwvg.
Também pensava nisso.... até surgirem novas versões de Windows.
E também porque para comparar conteúdo de duas janelas, só mesmo tendo as duas uma ao lado da outra.
No Windows 10 é tranquilo.
navegar.png
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

Rotina em Segundo Plano - Thread

Mensagem por JoséQuintas »

Na gtwvg tem um exemplo de janela dialog, que usa janelas gtwvg como "sub-janelas" ou componentes.
Mas é difícil entender o fonte.
Nesse exemplo tem 4 janelas gtwvg dentro da principal.
Anexos
dialog.png
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