Página 1 de 1
Sistema Abortando
Enviado: 28 Dez 2009 13:25
por Mario Mesquita
Olá e bom ano novo a todos.
Meu problema: Acabei de desenvolver o meu primeiro programa em HMG. A medida que criava um modulo, testava e passava ao proximo (é uma migração de um programa em Clipper). Agora, quando uso alguns módulos, o programa apenas fecha, sem mensagem ou aviso. Será que preciso configurar o computador para executar o sistema? O sistema está com 2236KB. Estou usando a versão 2.8.6f da minigui e xDev 0.70. Os pontos onde ocorre esse erro, por exemplo, são em duas buscas de arquivo usando getfile(). Mas no demo do getfile da pasta SAMPLES da HMG, ele roda. Parece algo como memoria insuficiente, sei lá...
Desde já, agradeço a ajuda de vocês.
Re: Sistema Abortando
Enviado: 31 Jan 2010 13:47
por sygecom
Seja bem vindo Mario,
De qual exemplo você se refere ?
Está usando qual compilar do mesmo que acompanha a Minigui ?
Re: Sistema Abortando
Enviado: 02 Fev 2010 18:44
por JAIR RANGEL
Olá a Todos !
Verifique os arquivos de índices de suas tabelas. Principalmente as primeiras tabelas abertas pelo seu programa.
Isto ocorre com o meu sistema quando algum índice CDX está corrompido. O programa fecha na hora em que vai abrir a tabela que tem referência ao CDX bichado.
Basta excluir o CDX e gerar um novo.
Dai volta ao normal.
Jair Rangel.
Re: Sistema Abortando
Enviado: 05 Fev 2010 19:47
por luiz antonio da silva
de uma olhada no arquivo error.log ou errorlog.htm que foi criado na pasta do seu aplicativo, nele vc vai saber exatamente o que aconteceu de erro...
blz.
Re: Sistema Abortando
Enviado: 05 Abr 2010 10:22
por Mario Mesquita
Olá a todos e boa páscoa (mesmo atrasado).
Em primeiro lugar, obrigado a todos pelas dicas, foram úteis. Fiquei um tempo sem mexer com a MiniGui, por estar com muito trabalho e retomei o meu projetinho há poucos dias. O que descobri é que todos os problemas estavam relacionados, acreditem, ao "OnGotFocus" nos formulários que apresentaram o problema de abortar. Como aconteceu?
A cada form que abro para uma determinada tarefa, abro as tabelas que vou usar nesse form/programa. Ao sair, executo uma função para fechar essas tabelas. E a apontei no OnGotFocus, que executa uma função ao tirar o foco do form. Aí se dava a falha. Ao repor o "NIL" no evento, tudo voltou ao normal. Agora, fiquei com um pepino: Como fechar as tabelas na saída do form? Dá pra desabilitar o botão de fechar o form ( "X" ) para forçar o uso de um botão "Sair"? Não me agrada a idéia de deixar as tabelas abertas o tempo todo e/ou desnecessariamente.
Qualquer dica, agradeço desde já.
Re: Sistema Abortando
Enviado: 05 Abr 2010 19:05
por asimoes
Olá,
Ficaria assim:
DEFINE WINDOW fTeste ;
AT 0,0 ;
WIDTH 455 ;
HEIGHT 445 ;
TITLE "JANELA TESTE" ;
ICON "ICON_CLOCK";
MODAL;
NOSYSMENU; // Aqui você inibi os botões do form.
NOSIZE;
ON INIT {||Bandeja()};
ON RELEASE Fechar() // Aqui você pode fechar as tabelas.
[]S
Re: Sistema Abortando
Enviado: 06 Abr 2010 09:16
por Mario Mesquita
Bom dia.
Asimoes, deu certo. Obrigado, valeu mesmo.
Re: Sistema Abortando
Enviado: 06 Abr 2010 12:06
por alxsts
Olá!
Mario Mesquita escreveu:Dá pra desabilitar o botão de fechar o form ( "X" ) para forçar o uso de um botão "Sair"?
Desculpem a intromissão pois não conheço a matéria. É que achei drástica a opção de desabilitar o botão fechar do
form.
Fiquei curioso para saber se nessa biblioteca não tem como determinar o modo em que o
form foi fechado. No Visual Basic, por exemplo, existe o evento Form_QueryUnload(Cancel As Integer, UnloadMode As Integer). O parâmetro UnloadMode indica esse modo.
Não seria possível detectar isso através do ON_RELEASE?
Re: Sistema Abortando
Enviado: 07 Abr 2010 10:38
por Mario Mesquita
Bom dia a todos!
AlxSts tem razão! O burrinho aqui usou o evento "OnGotFocus" e deu meleca. No meu caso, para o "OnRelease", tive que dividir a função de saida, pois pela função ativada pelo botão "Sair", já tinha um "Release" explícito do Form, causando um erro de execução, imagino devido a um tipo de redundância. Então fiz a função com Release pro botão "Sair" e uma sem Release para o "X" do Form. Fiz apenas em um Form, vou testar os outros, se der zebra, aviso aqui.
Fica aí a luz do Alx. Valeu!
OBS: Asimoes tinha desenhado isso na sua amostra de código, mas eu não tinha "pescado". Valeu, de novo!