Migrando de Clipper 5.2 para HMG 3.0.35
Moderador: Moderadores
-
jsnascimento
- Usuário Nível 1

- Mensagens: 33
- Registrado em: 08 Jul 2004 20:05
Migrando de Clipper 5.2 para HMG 3.0.35
Prezados,
Boa Noite!
Tenho um aplicativo feito em Clipper 5.2, cuja finalidade é “padronizar” algumas centenas de arquivos do tipo “dbf, cada arquivo representando a produção de um mês especificamente.
O objetivo final deste aplicativo é poder reunir em uma só tabela (em SQL ou MYSQL), todos os “dbfs”.
Acontece que estes arquivos “dbfs” refletem a evolução da construção desta base de dados ao longo de vários anos. Portanto, ocorreram alterações nas estruturas dos dados.
Sabemos que para criar uma única tabela ou fazer um “Append from” em todos os arquivos “dbfs”, há necessidade de padronizar as estruturas dos arquivos. Aí é que entra o meu aplicativo: “PADRONIZADOR.EXE”.
Este aplicativo funciona redondinho no Clipper 5.2.
Eu gostaria de migrar para HMG 3.0.35. Na verdade já fiz isto. E vi que a migração agrega muita velocidade no processamento do aplicativo. O meu aplicativo em Clipper 5.2 processa 2.500 registros por minuto, o aplicativo migrado para HMG 3.0.35 processa 9.003 por minuto.
Porém, o aplicativo migrado para HMG 3.0.35 começa rodar bonitinho, por algum motivo que desconheço, num dado momento, sem explicação óbvia, ele trava a “Label” que notifica a progressão do processamento, muito embora ele ainda continua processando. O que podemos ver quando observamos no Explorer do Windows o crescimento do novo arquivo que recebe a padronização, mas depois, trava tudo. Inclusive, só sai com “Alt-F4” ou “Ctrl-Alt-Del”. Também o arquivo padronizado fica ilegível.
Eu posso enviar os fontes por e-mail... Eu gostaria que alguém, que é experiente em HMG, por favor, verificasse se algum componente aproveitado do Clipper 5.2 é incompatível com HMG 3.0.35.
Atenciosamente,
Jamil S. Nascimento
Boa Noite!
Tenho um aplicativo feito em Clipper 5.2, cuja finalidade é “padronizar” algumas centenas de arquivos do tipo “dbf, cada arquivo representando a produção de um mês especificamente.
O objetivo final deste aplicativo é poder reunir em uma só tabela (em SQL ou MYSQL), todos os “dbfs”.
Acontece que estes arquivos “dbfs” refletem a evolução da construção desta base de dados ao longo de vários anos. Portanto, ocorreram alterações nas estruturas dos dados.
Sabemos que para criar uma única tabela ou fazer um “Append from” em todos os arquivos “dbfs”, há necessidade de padronizar as estruturas dos arquivos. Aí é que entra o meu aplicativo: “PADRONIZADOR.EXE”.
Este aplicativo funciona redondinho no Clipper 5.2.
Eu gostaria de migrar para HMG 3.0.35. Na verdade já fiz isto. E vi que a migração agrega muita velocidade no processamento do aplicativo. O meu aplicativo em Clipper 5.2 processa 2.500 registros por minuto, o aplicativo migrado para HMG 3.0.35 processa 9.003 por minuto.
Porém, o aplicativo migrado para HMG 3.0.35 começa rodar bonitinho, por algum motivo que desconheço, num dado momento, sem explicação óbvia, ele trava a “Label” que notifica a progressão do processamento, muito embora ele ainda continua processando. O que podemos ver quando observamos no Explorer do Windows o crescimento do novo arquivo que recebe a padronização, mas depois, trava tudo. Inclusive, só sai com “Alt-F4” ou “Ctrl-Alt-Del”. Também o arquivo padronizado fica ilegível.
Eu posso enviar os fontes por e-mail... Eu gostaria que alguém, que é experiente em HMG, por favor, verificasse se algum componente aproveitado do Clipper 5.2 é incompatível com HMG 3.0.35.
Atenciosamente,
Jamil S. Nascimento
" Deus amou o mundo de tal maneira que deu seu Filho Unigênito para que o mundo fosse salvo por intermédio dele." João 3:16
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Migrando de Clipper 5.2 para HMG 3.0.35
Olá Jamil,
A HMG 3.0.35 usa o Harbour 2.0. Já tentou usar uma IDE mais recente? As versões mais recentes usam o Harbour 3.2.
Experiente não é meu caso, mas posso adiantar que tudo que você usava no Clipper 5.2 pode ser usado em Harbour, e portanto na HMG, desde que modo console.jsnascimento escreveu:Eu gostaria que alguém, que é experiente em HMG, por favor, verificasse se algum componente aproveitado do Clipper 5.2 é incompatível com HMG 3.0.35.
A HMG 3.0.35 usa o Harbour 2.0. Já tentou usar uma IDE mais recente? As versões mais recentes usam o Harbour 3.2.
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
jsnascimento
- Usuário Nível 1

- Mensagens: 33
- Registrado em: 08 Jul 2004 20:05
Migrando de Clipper 5.2 para HMG 3.0.35
Prezado Jairo Maia,
Boa Noite!
Perdão! Eu não fui feliz na colocação: "Eu gostaria que alguém, que é experiente em HMG..." - nestas palavras eu estava dizendo mais a respeito de mim mesmo, que sou inexperiente no Harbur, do que dos possíveis colaboradores que porventura interessassem me ajudar. Perdão! Expressei-me mal.
Mas voltando ao caso: é exatamente isto que eu não quero, ou seja, deixar o meu aplicativo com cara do "DOS". Eu já tenho o aplicativo rodando perfeitamente em modo Clipper 5.2 (console); mas para melhor apresentação junto a terceiros, eu queria migrar para o modo gráfico que é oferecido pelo HMG(IDE).
Como disse anteriormente, fui atrás da aparência gráfica e fui surpreendido com ganho de velocidade na execução do aplicativo, uma vez que o código é transformado em "C".
Outra coisa, testei várias versões do HMG = (hmg.3.0.35, hmg.3.0.44 e hmg.3.1.1) - Todas deram o mesmo problema.
Será que você passaria o olho nos meus códigos para verificar se há algo incompatível com o modo gráfico? Não é muita coisa...
Abraços!
Jamil S. Nascimento
Boa Noite!
Perdão! Eu não fui feliz na colocação: "Eu gostaria que alguém, que é experiente em HMG..." - nestas palavras eu estava dizendo mais a respeito de mim mesmo, que sou inexperiente no Harbur, do que dos possíveis colaboradores que porventura interessassem me ajudar. Perdão! Expressei-me mal.
Mas voltando ao caso: é exatamente isto que eu não quero, ou seja, deixar o meu aplicativo com cara do "DOS". Eu já tenho o aplicativo rodando perfeitamente em modo Clipper 5.2 (console); mas para melhor apresentação junto a terceiros, eu queria migrar para o modo gráfico que é oferecido pelo HMG(IDE).
Como disse anteriormente, fui atrás da aparência gráfica e fui surpreendido com ganho de velocidade na execução do aplicativo, uma vez que o código é transformado em "C".
Outra coisa, testei várias versões do HMG = (hmg.3.0.35, hmg.3.0.44 e hmg.3.1.1) - Todas deram o mesmo problema.
Será que você passaria o olho nos meus códigos para verificar se há algo incompatível com o modo gráfico? Não é muita coisa...
Abraços!
Jamil S. Nascimento
" Deus amou o mundo de tal maneira que deu seu Filho Unigênito para que o mundo fosse salvo por intermédio dele." João 3:16
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Migrando de Clipper 5.2 para HMG 3.0.35
Olá Jamil, seria interessante que você poste o código fonte do seu aplicativo. Se for muita coisa, compacte (zipando os prgs) e anexando-o na sua próxima mensagem. Para inicio, acho que iria ficar melhor se você substituir o label por ProgressBar. Teríamos que avaliar a frequência que é exibido e mudado em tela a sua label.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
jsnascimento
- Usuário Nível 1

- Mensagens: 33
- Registrado em: 08 Jul 2004 20:05
Migrando de Clipper 5.2 para HMG 3.0.35
Prezados,
Boa Noite!
Segue aí meus fontes. Por favor, se alguém puder ajudar-me agradecerei muito.
Obrigado!
Jamil S. Nascimento
Boa Noite!
Segue aí meus fontes. Por favor, se alguém puder ajudar-me agradecerei muito.
Obrigado!
Jamil S. Nascimento
" Deus amou o mundo de tal maneira que deu seu Filho Unigênito para que o mundo fosse salvo por intermédio dele." João 3:16
-
jsnascimento
- Usuário Nível 1

- Mensagens: 33
- Registrado em: 08 Jul 2004 20:05
Migrando de Clipper 5.2 para HMG 3.0.35
Prezados colegas de Fórum,
Postei os meus fontes no dia (13/01/2013); seguindo conselho do moderador "Pablo César".
Constam dez download do compactado que enviei (Padronizador.rar).
Alguém, por favor, poderia me ajudar ou orientar a respeito do "bug" que está ocorrendo em meu aplicativo?
Muito Obrigado!
Jamil S. Nascimento
Postei os meus fontes no dia (13/01/2013); seguindo conselho do moderador "Pablo César".
Constam dez download do compactado que enviei (Padronizador.rar).
Alguém, por favor, poderia me ajudar ou orientar a respeito do "bug" que está ocorrendo em meu aplicativo?
Muito Obrigado!
Jamil S. Nascimento
" Deus amou o mundo de tal maneira que deu seu Filho Unigênito para que o mundo fosse salvo por intermédio dele." João 3:16
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Migrando de Clipper 5.2 para HMG 3.0.35
Oi Jamil,
Desculpe se eu não respondi antes. Eu e minha família, encontramo-nos ainda de férias e não estou podendo dedicar-me mais intensamente ao fórum. Eu fiz o download e dei uma revisada rápida no seus fontes. Por tratar-se de vários fontes e eu estar com o meu tempo limitado, só deu pra ver que tem alguns comandos que você está usando e que só servem para o modo console como por exemplo Inkey, RESTORE SCREEN no Main_Adireg.prg
O seu Main carrega o formulário e deve ser analisado, pelo pouco que vi precisa avaliar o acionamento de funções nos eventos corretos. Não é ainda uma afirmação, mas pelo que pareceu-me não deveria ser no ONGOTFOCUS. O lebale Resultado, eu fosse você substituiria por um ProgressBar mas também teria que ser alimentado no laço onde não comprometera a sua performance.
Se você tiver paciência de esperar até eu retornar de viagem, terei prazer de te ajudar ou então espero que outro colega com maior tempo possa ir de auxilio.
Desculpe se eu não respondi antes. Eu e minha família, encontramo-nos ainda de férias e não estou podendo dedicar-me mais intensamente ao fórum. Eu fiz o download e dei uma revisada rápida no seus fontes. Por tratar-se de vários fontes e eu estar com o meu tempo limitado, só deu pra ver que tem alguns comandos que você está usando e que só servem para o modo console como por exemplo Inkey, RESTORE SCREEN no Main_Adireg.prg
O seu Main carrega o formulário e deve ser analisado, pelo pouco que vi precisa avaliar o acionamento de funções nos eventos corretos. Não é ainda uma afirmação, mas pelo que pareceu-me não deveria ser no ONGOTFOCUS. O lebale Resultado, eu fosse você substituiria por um ProgressBar mas também teria que ser alimentado no laço onde não comprometera a sua performance.
Se você tiver paciência de esperar até eu retornar de viagem, terei prazer de te ajudar ou então espero que outro colega com maior tempo possa ir de auxilio.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
-
jsnascimento
- Usuário Nível 1

- Mensagens: 33
- Registrado em: 08 Jul 2004 20:05
Migrando de Clipper 5.2 para HMG 3.0.35
Prezado Pablo César,
Boa Noite!
Obrigado pelo interesse em ajudar-me.
Eu posso esperar sim e farei isto.
Descanse bastante com a família!
Porém, estou aberto a qualquer posicionamento dos outros colegas.
Como disse: sou iniciante no Harbour e preciso mesmo de ajuda.
Abrcs!
Jamil S. Nascimento
Boa Noite!
Obrigado pelo interesse em ajudar-me.
Eu posso esperar sim e farei isto.
Descanse bastante com a família!
Porém, estou aberto a qualquer posicionamento dos outros colegas.
Como disse: sou iniciante no Harbour e preciso mesmo de ajuda.
Abrcs!
Jamil S. Nascimento
" Deus amou o mundo de tal maneira que deu seu Filho Unigênito para que o mundo fosse salvo por intermédio dele." João 3:16
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Migrando de Clipper 5.2 para HMG 3.0.35
Olá!
Antes de analisar este caso, gostaria que você verificasse se o problema persiste após as modificações feitas no tópico Tecla de Abortamento. Talvez aquele Do Events colocado dentro do laço resolva este problema também.
PS: para referenciar um tópico, como fiz acima, ou outra URL qualquer, use a tag URL que fica na barra de ferramentas da caixa de edição de mensagens.
Nos exemplos abaixo, vou trocar os colchetes por parenteses apenas para você ver como funciona. Quando você clica no botão URL, é gerada a string (url)(/url). Altere, copiando a URL do tópico em questão da barra do teu navegador e dando uma descrição, para que fique assim: (url=https://pctoledo.org/forum/viewto ... =4&t=13825)Tecla de Abortamento(/url)
Antes de analisar este caso, gostaria que você verificasse se o problema persiste após as modificações feitas no tópico Tecla de Abortamento. Talvez aquele Do Events colocado dentro do laço resolva este problema também.
PS: para referenciar um tópico, como fiz acima, ou outra URL qualquer, use a tag URL que fica na barra de ferramentas da caixa de edição de mensagens.
Nos exemplos abaixo, vou trocar os colchetes por parenteses apenas para você ver como funciona. Quando você clica no botão URL, é gerada a string (url)(/url). Altere, copiando a URL do tópico em questão da barra do teu navegador e dando uma descrição, para que fique assim: (url=https://pctoledo.org/forum/viewto ... =4&t=13825)Tecla de Abortamento(/url)
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
- Jairo Maia
- Moderador
- Mensagens: 2785
- Registrado em: 16 Ago 2010 13:46
- Localização: Campinas-SP
Migrando de Clipper 5.2 para HMG 3.0.35
Olá Jamil,
Dentro do laço de processamento, você tem esta parte de código:
Veja que a cada 195 registros você está alterando várias propriedades do Form, mas não precisa. Sugiro que altere somente a propriedade de exibição dos dados, deixando esta parte assim:
Quanto ao travamento:
Não sei se pode ser isso, mas penso que pode ter algo a ver. Quando você diz que o sistema para de trabalhar, será que não está ligado ao congestionamento da memória? Digo isto porque você para cada registro está usando o APPEND BLANK, isto cria um novo registro em branco e bloqueia para receber os dados. Ocorre que ele fica na memória, e sai da memória e destrava os registros após fechar o aliás, ou usar um comendo para salvar os dados. Assim, sugiro que após o trecho que você exibe os dados de processamento na tela (este acima), você acrescente o seguinte:
Tente esta alteração e veja se funciona.
Em tempo:
Aproveito para parabenizar o colega Alexandre Santos pela solução do evento do teclado. Show de bola!
Dentro do laço de processamento, você tem esta parte de código:
Código: Selecionar todos
Wreg_tual := recno()
Wdivisor := 195
If Wreg_tual%Wdivisor == 0
SetProperty("Main","Resultado","Value","Processando o arquivo: "+ Wnom_arq + " => " + lTrim(Str(Wreg_tual)) + "/" + lTrim(Str(Wtotreg)))
SetProperty("main","Resultado","FONTCOLOR",{255,0,0,})
SetProperty("main","Resultado","FONTSIZE",8)
SetProperty("main","Resultado","TRANSPARENT", .T.)
EndifCódigo: Selecionar todos
Wreg_tual := recno()
Wdivisor := 195
If Wreg_tual%Wdivisor == 0
SetProperty("Main","Resultado","Value","Processando o arquivo: "+ Wnom_arq + " => " + lTrim(Str(Wreg_tual)) + "/" + lTrim(Str(Wtotreg)))
EndifNão sei se pode ser isso, mas penso que pode ter algo a ver. Quando você diz que o sistema para de trabalhar, será que não está ligado ao congestionamento da memória? Digo isto porque você para cada registro está usando o APPEND BLANK, isto cria um novo registro em branco e bloqueia para receber os dados. Ocorre que ele fica na memória, e sai da memória e destrava os registros após fechar o aliás, ou usar um comendo para salvar os dados. Assim, sugiro que após o trecho que você exibe os dados de processamento na tela (este acima), você acrescente o seguinte:
Código: Selecionar todos
If Wreg_tual % 1000 == 0
COMMIT // salva os dados e libera a memória a cada 1,000 registros
EndifEm tempo:
Aproveito para parabenizar o colega Alexandre Santos pela solução do evento do teclado. Show de bola!
Abraços, Jairo
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
Harbour / Clipper 5.2e - Blinker 7
(Não respondo dúvidas por MP ou E-mail. Por favor, não encaminhe via mensagem privada ou e-mail, dúvidas que podem ser compartilhadas com todos no fórum)
-
jsnascimento
- Usuário Nível 1

- Mensagens: 33
- Registrado em: 08 Jul 2004 20:05
Migrando de Clipper 5.2 para HMG 3.0.35
Prezado Jairo e Alexandre,
Bom dia!
Jairo,
Alexandre,
Estou neste momento processando três arquivos originais, com 664.720.982 bytes cada um, 1.060.000 de registros cada um deles. Processou o primeiro e está no segundo. Está levando cerca de 55 minutos cada um. Durante o processamento estou alternando para tarefas do Windows, retornando, usei a tecla F10 e tudo está funcionando perfeitamente.
Engraçado, agora o Button "Sair", que antes não funcionava durante o processamento, está funcionando também. Eu direcionei o evento “Action” deste botão para a Função MyExit() e ele funcionou perfeitamente.
O "Pulo do Gato" parece ser mesmo o "Do Events".
A noite eu volto a postar aqui!
Obrigado!
Abraços a todos!
Jamil S. Nascimento
Bom dia!
Jairo,
Você está correto! É melhor simplificar. Farei isto.Veja que a cada 195 registros você está alterando várias propriedades do Form, mas não precisa. Sugiro que altere somente a propriedade de exibição dos dados, deixando esta parte assim...
Semelhante a sugestão anterior. Vou implementar.Quando você diz que o sistema para de trabalhar, será que não está ligado ao congestionamento da memória? Digo isto porque você para cada registro está usando o APPEND BLANK, isto cria um novo registro em branco e bloqueia para receber os dados. Ocorre que ele fica na memória, e sai da memória e destrava os registros após fechar o aliás, ou usar um comendo para salvar os dados. Assim, sugiro que após o trecho que você exibe os dados de processamento na tela (este acima), você acrescente o seguinte: COMMIT
Alexandre,
Estou neste momento processando três arquivos originais, com 664.720.982 bytes cada um, 1.060.000 de registros cada um deles. Processou o primeiro e está no segundo. Está levando cerca de 55 minutos cada um. Durante o processamento estou alternando para tarefas do Windows, retornando, usei a tecla F10 e tudo está funcionando perfeitamente.
Engraçado, agora o Button "Sair", que antes não funcionava durante o processamento, está funcionando também. Eu direcionei o evento “Action” deste botão para a Função MyExit() e ele funcionou perfeitamente.
O "Pulo do Gato" parece ser mesmo o "Do Events".
A noite eu volto a postar aqui!
Obrigado!
Abraços a todos!
Jamil S. Nascimento
" Deus amou o mundo de tal maneira que deu seu Filho Unigênito para que o mundo fosse salvo por intermédio dele." João 3:16
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Migrando de Clipper 5.2 para HMG 3.0.35
Olá!
Ótimo! Espero que termine como desejado.
Vou acrescentar mais uma sugestão às já feitas pelo Jairo: depois que o usuário clicar no botão processar e digitar as iniciais do arquivo, desabilite o botão processar para que ele não clique novamente durante o processamento.
Jairo: obrigado pela costumeira gentileza.
Ótimo! Espero que termine como desejado.
Vou acrescentar mais uma sugestão às já feitas pelo Jairo: depois que o usuário clicar no botão processar e digitar as iniciais do arquivo, desabilite o botão processar para que ele não clique novamente durante o processamento.
Jairo: obrigado pela costumeira gentileza.
[]´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)
-
jsnascimento
- Usuário Nível 1

- Mensagens: 33
- Registrado em: 08 Jul 2004 20:05
Migrando de Clipper 5.2 para HMG 3.0.35
Prezado Alexandre,
Boa Tarde!
Tentei algumas coisas, mas não funcionaram:
Você tem alguma sugestão?
Obrigado!
Jamil S. Nascimento
Boa Tarde!
Com certeza! Não podemos deixar brecha para o usuário ter ações inadvertidas. O certo é desabilitar o button "Processar" durante o processamento.Vou acrescentar mais uma sugestão às já feitas pelo Jairo: depois que o usuário clicar no botão processar e digitar as iniciais do arquivo, desabilite o botão processar para que ele não clique novamente durante o processamento.
Tentei algumas coisas, mas não funcionaram:
Código: Selecionar todos
If Len(alltrim(Wini_dbf)) == 2
SetProperty("main","Resultado","VALUE",Wini_dbf+ " - ENTRADA VÁLIDA!")
SetProperty("main","Resultado","FONTCOLOR",{0,128,128})
SetProperty("main","Resultado","FONTSIZE",8)
SetProperty("main","Resultado","TRANSPARENT", .T.)
Do Events
// Desabilita o Button = "Processar"
*** Tentativa Nº.1 dá erro: Error BASE/1003 Variable does not exist: PROCESSAR
PROCESSAR:disable()
*** Tentativa Nº.2 dá erro: ERROR E0030 "syntax error at '.'"
DoMethod("Main","PROCESSAR","disable")
*** Tentativa Nº.3 dá erro: ERROR E0030 "syntax error at '.'"
Main.PROCESSAR.disable()
main_Padronizar(Wini_dbf)
ENDIF Obrigado!
Jamil S. Nascimento
" Deus amou o mundo de tal maneira que deu seu Filho Unigênito para que o mundo fosse salvo por intermédio dele." João 3:16
Migrando de Clipper 5.2 para HMG 3.0.35
Boa tarde, tente:
Main.resultado.enabled := .F. && Desabilita e;
Main.resultado.enabled := .T. && habilita no final do processo, ok.
:xau
Hasa
-
alxsts
- Colaborador

- Mensagens: 3092
- Registrado em: 12 Ago 2008 15:50
- Localização: São Paulo-SP-Brasil
Migrando de Clipper 5.2 para HMG 3.0.35
Olá!
Veja: Eu alteraria o Caption do botão sair para "Sair (F10)"
Veja:
Código: Selecionar todos
*------------------------------------------------------------------------------*
* ---> HABILIDTA A SAÍDA DE EMERGÊNCIA/ABORTAMENTO DO APLICATIVO COM A TECLA F10
*------------------------------------------------------------------------------*
*Sugestão do Alexandre Santos (AlxSts) em 20/01/2013
*
EnableF10()
// Desabilita botão processar
Main.Processar.Enabled := .F. []´s
Alexandre Santos (AlxSts)
Alexandre Santos (AlxSts)