Jump to content
Fivewin Brasil

oribeiro

Membros
  • Posts

    1,291
  • Joined

  • Last visited

  • Days Won

    35

Everything posted by oribeiro

  1. Marcelo, Com essa função o sistema cancelou completamente os parâmetros definidos no VALID da Windows. Assim também não dá. (risos) - O que o xHarbour precisa fazer é executar o VALID apenas uma vez (como o seu antecessor Fw). E agora? Será que os desenvolvedores do FwH não tem a correção desse bug? (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  2. Testei aqui com todas as releases do Fhw desde a Fhw2.7 de Fevereiro até a Fhw2.8 com os seus respectivos xHarbour´s e em todas elas a tecla ESCAPE faz com que o VALID execute duas vezes. Onde está o problema? (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  3. João, Acha possível você me enviar esses arquivos por MSN? (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  4. Sim, pode ser problema na minha versão do Fwh 2.7 ou do xHarbour. Você pode me passar a lib do Fhw para xHb 0.99.61 e também me indicar onde é que eu baixo o .61? Quero testar aqui usando o que você tem aí. Obrigado. (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  5. João, Compilei o seu exemplo e quando fecho o sistema com a tecla ainda passa duas vezes no VALID da Window. Como faço para driblar isso? Se compilar esse mesmo exemplo com Fivewin 16bits não dá esse erro. (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  6. Vejam no exemplo abaixo, que quando se fecha a janela com a tecla , apenas no xHarbour, ele processa duas vezes o VALID da Window. Como faço para driblar essa situação? Tentei criar uma variável Static e atualizá-la para tratar a segunda vez que o comando é processado mas não está dando certo. #include "fivewin.ch" Static tela:=.T. function main() local oWnd1, oWnd2, oDlg1, oBtn1, oGet1 Public cVar1:=PadR("APARTE A TECLA E VEJA O RESULTADO",100) DEFINE WINDOW oWnd1 TITLE "WINDOW PRINCIPAL" FROM 0,0 TO 20,60 MDI DEFINE WINDOW oWnd2 TITLE "TECLA " FROM 0,0 TO 20,60 MDICHILD OF oWnd1 oWnd2:bGotFocus = {||oDlg1:SetFocus()} // Sempre coloca o foco no Dialog oWnd2:SetColor(GetSysColor(8),GetSysColor(15)) // faz Cor da oWnd2 = oDlg1 DEFINE DIALOG oDlg1 OF oWnd2 STYLE WS_CHILD FROM 0,0 TO 20,60 @ 2,05 GET oGet1 VAR cVar1 SIZE 150,12 PICT '@!' @ 3,10 BUTTON oBtn1 PROMPT "Fechar" SIZE 100,50 ACTION oDlg1:End() ACTIVATE DIALOG oDlg1 NOWAIT VALID oWnd2:End() ACTIVATE WINDOW oWnd2 VALID ( passou(), .T. ) ACTIVATE WINDOW oWnd1 MAXIMIZED return nil function passou() msginfo(tela,"PASSOU") tela:=.F. return (.t.) (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  7. Vejam no exemplo abaixo, que quando se fecha a janela com a tecla , apenas no xHarbour, ele processa duas vezes o VALID da Window. Como faço para driblar essa situação? Tentei criar uma variável Static e atualizá-la para tratar a segunda vez que o comando é processado mas não está dando certo. #include "fivewin.ch" Static tela:=.T. function main() local oWnd1, oWnd2, oDlg1, oBtn1, oGet1 Public cVar1:=PadR("APARTE A TECLA E VEJA O RESULTADO",100) DEFINE WINDOW oWnd1 TITLE "WINDOW PRINCIPAL" FROM 0,0 TO 20,60 MDI DEFINE WINDOW oWnd2 TITLE "TECLA " FROM 0,0 TO 20,60 MDICHILD OF oWnd1 oWnd2:bGotFocus = {||oDlg1:SetFocus()} // Sempre coloca o foco no Dialog oWnd2:SetColor(GetSysColor(8),GetSysColor(15)) // faz Cor da oWnd2 = oDlg1 DEFINE DIALOG oDlg1 OF oWnd2 STYLE WS_CHILD FROM 0,0 TO 20,60 @ 2,05 GET oGet1 VAR cVar1 SIZE 150,12 PICT '@!' @ 3,10 BUTTON oBtn1 PROMPT "Fechar" SIZE 100,50 ACTION oDlg1:End() ACTIVATE DIALOG oDlg1 NOWAIT VALID oWnd2:End() ACTIVATE WINDOW oWnd2 VALID ( passou(), .T. ) ACTIVATE WINDOW oWnd1 MAXIMIZED return nil function passou() msginfo(tela,"PASSOU") tela:=.F. return (.t.) (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  8. Essa situação de fechar com o e ele executar o VALID da Window duas vezes não acontece se compilado com Fivewin puro. Estranho né??? (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  9. Vejam no exemplo abaixo, acho que estou próximo de descobrir o motivo do erro: Se você fechar com o botão [Fechar] ele passa no VALID do Window apenas uma vez, mas se você fechar usando a tecla ele passa "duas" vezes. Isso é bug??? #include "fivewin.ch" function main() local oWnd1, oWnd2, oDlg1, oBtn1, oGet1, i:=0 Cria_Campos() DEFINE WINDOW oWnd1 TITLE "WINDOW PRINCIPAL" FROM 0,0 TO 20,60 MDI DEFINE WINDOW oWnd2 TITLE "TECLA " FROM 0,0 TO 20,60 MDICHILD OF oWnd1 oWnd2:bGotFocus = {||oDlg1:SetFocus()} // Sempre coloca o foco no Dialog oWnd2:SetColor(GetSysColor(8),GetSysColor(15)) // faz Cor da oWnd2 = oDlg1 DEFINE DIALOG oDlg1 OF oWnd2 STYLE WS_CHILD FROM 0,0 TO 20,60 @ 2,05 GET oGet1 VAR cVar1 SIZE 150,12 PICT '@!' @ 3,10 BUTTON oBtn1 PROMPT "Fechar" SIZE 100,50 ACTION oDlg1:End() ACTIVATE DIALOG oDlg1 NOWAIT VALID oWnd2:End() ACTIVATE WINDOW oWnd2 VALID ( msginfo("passou "+str(i++)),.T. ) // , oBtn1:SetFocus(), IIF(Atualizou(oDlg1),Grava(),.T.), Destroi_Campos() ) ACTIVATE WINDOW oWnd1 MAXIMIZED return nil Function Cria_Campos() Public cVar1:=PadR("APARTE A TECLA E VEJA O RESULTADO",100) Return NIl (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  10. Nesse meu exemplo abaixo, se eu fecho a dialog com o enquanto o sistema pargunta se eu desejo gravar ele já fechou a dialog e já matou a variavel. Se eu fecho com o botão [Fechar] isso não acontece. Digite alguma coisa no campo get e faça o teste, por favor. #include "fivewin.ch" function main() local oWnd1, oWnd2, oDlg1, oBtn1, oGet1 Cria_Campos() DEFINE WINDOW oWnd1 TITLE "WINDOW PRINCIPAL" FROM 0,0 TO 20,60 MDI DEFINE WINDOW oWnd2 TITLE "TECLA " FROM 0,0 TO 20,60 MDICHILD OF oWnd1 oWnd2:bGotFocus = {||oDlg1:SetFocus()} // Sempre coloca o foco no Dialog oWnd2:SetColor(GetSysColor(8),GetSysColor(15)) // faz Cor da oWnd2 = oDlg1 DEFINE DIALOG oDlg1 OF oWnd2 STYLE WS_CHILD FROM 0,0 TO 20,60 @ 2,05 GET oGet1 VAR cVar1 SIZE 150,12 PICT '@!' @ 3,10 BUTTON oBtn1 PROMPT "Fechar" SIZE 100,50 ACTION oDlg1:End() ACTIVATE DIALOG oDlg1 NOWAIT VALID oWnd2:End() ACTIVATE WINDOW oWnd2 VALID ( oBtn1:SetFocus(), IIF(Atualizou(oDlg1),Grava(),.T.), Destroi_Campos() ) ACTIVATE WINDOW oWnd1 MAXIMIZED return nil Function Cria_Campos() Public cVar1:=PadR("APARTE A TECLA E VEJA O RESULTADO",100) Return NIl Function Destroi_Campos() cVar1 := NIL RELEASE cVar1 Return (.t.) Function Grava() if msgyesno("O registro foi atualizado, deseja gravar?") campo1 := cVar1 // aqui dá erro, ele já destruiu os campos. msginfo( cVar1 ) endif Return (.T.) Function Atualizou(oDlg,lGravou) Local f:=1 local g:=1 local h:=1 local Contador:=0 lGravou := iif(lGravou=nil,.F.,lGravou) // Verifica se houve a gravacao While f<=Len(oDlg:aControls) //acontrols é uma propriedade de todas as dialogs e é criada automaticamente if oDlg:aControls[f]:ClassName()="TGET" .or. oDlg:aControls[f]:ClassName()="TMULTIGET" if oDlg:aControls[f]:cCaption<>; // Gets Antes oDlg:aControls[f]:cText // Gets Depois oDlg:aControls[f]:cCaption:=; // Atualiza cCaption oDlg:aControls[f]:cText if !lGravou // Se nao gravou Contador++ endif endif elseif oDlg:aControls[f]:ClassName()="TFOLDER" g := 1 While g<=Len(oDlg:aControls[f]:aDialogs) // Checa todos os Dialogs da Folder h := 1 While h<=Len(oDlg:aControls[f]:aDialogs[g]:aControls) if oDlg:aControls[f]:aDialogs[g]:aControls[h]:ClassName()="TGET" .or. oDlg:aControls[f]:aDialogs[g]:aControls[h]:ClassName()="TMULTIGET" if oDlg:aControls[f]:aDialogs[g]:aControls[h]:cCaption<>; // Gets Antes oDlg:aControls[f]:aDialogs[g]:aControls[h]:cText // Gets Depois oDlg:aControls[f]:aDialogs[g]:aControls[h]:cCaption:=; // Atualiza cCaption oDlg:aControls[f]:aDialogs[g]:aControls[h]:cText if !lGravou // Se nao gravou Contador++ endif endif endif h++ enddo g++ end endif f++ End if !lGravou .and. !Empty(Contador) Return(.T.) Endif Return(.F.) (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  11. João, No meu programa eu crio variáveis publicas para os campos dos arquivos e depois eu destruo essas variáveis no comando ACTIVATE...VALID. Acontece que no Fivewin ele fecha a janela numa boa e no FhW ele destroi as variáveis, fecha a janela e aparece um erro de variável inexistente. Estranho né? (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  12. Percebi que o FW trata o ESC de um modo diferente do FWH. Tem como cancelar a tecla ESC para que o usuário não feche a janela usando essa tecla? (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  13. Percebi que o FW trata o ESC de um modo diferente do FWH. Tem como cancelar a tecla ESC para que o usuário não feche a janela usando essa tecla? (OASyS) Oscar Ribeiro Fwh2.7+xHb0.99.60+BCC551
  14. Quando fecho minhas janelas com dá erro de variável não existe no fwh e no fw não dá. A variável está criada! Ativo minhas janelas assim: ACTIVATE DIALOG oDlgP NOWAIT VALID oWndC:End() ACTIVATE WINDOW oWndC ; VALID ( tBtPrinc[9]:SetFocus() ,iif(Atualizou(oDlgP),(Grava(.T.)),.T.),oScb:SetFocus(),Destroi_Campos(),oLbx:Disable(),Fecha_Formulario(oWndC,oDlgP,oLbx,cFrm,cPrg)) Fwh2.7+xHb0.99.60+BCC551
  15. Quando fecho minhas janelas com dá erro de variável não existe no fwh e no fw não dá. A variável está criada! Ativo minhas janelas assim: ACTIVATE DIALOG oDlgP NOWAIT VALID oWndC:End() ACTIVATE WINDOW oWndC ; VALID ( tBtPrinc[9]:SetFocus() ,iif(Atualizou(oDlgP),(Grava(.T.)),.T.),oScb:SetFocus(),Destroi_Campos(),oLbx:Disable(),Fecha_Formulario(oWndC,oDlgP,oLbx,cFrm,cPrg)) Fwh2.7+xHb0.99.60+BCC551
×
×
  • Create New...