Sistema Abortando

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Sistema Abortando

Mensagem 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.
Avatar do usuário
sygecom
Administrador
Administrador
Mensagens: 7131
Registrado em: 21 Jul 2006 10:12
Localização: Alvorada-RS
Contato:

Re: Sistema Abortando

Mensagem por sygecom »

Seja bem vindo Mario,
De qual exemplo você se refere ?
Está usando qual compilar do mesmo que acompanha a Minigui ?
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
Avatar do usuário
JAIR RANGEL
Usuário Nível 3
Usuário Nível 3
Mensagens: 178
Registrado em: 19 Jul 2005 16:01
Localização: RIO DE JANEIRO
Contato:

Re: Sistema Abortando

Mensagem 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.
MINIGUI + HARBOUR + BRMAKE + CDX
CLIPPER 5.2E + VISUALLIB 2 + BLINKER
luiz antonio da silva
Usuário Nível 3
Usuário Nível 3
Mensagens: 161
Registrado em: 21 Nov 2006 22:12
Localização: serrana-sp

Re: Sistema Abortando

Mensagem 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.
HMG 3.4.4 - SQL SERVER - ORACLE
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Re: Sistema Abortando

Mensagem 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á.
Avatar do usuário
asimoes
Colaborador
Colaborador
Mensagens: 4919
Registrado em: 26 Abr 2007 16:48
Localização: RIO DE JANEIRO-RJ

Re: Sistema Abortando

Mensagem 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
►Harbour 3.x | Minigui xx-x | HwGui◄
Pense nas possibilidades abstraia as dificuldades.
Não corrigir nossas falhas é o mesmo que cometer novos erros.
A imaginação é mais importante que o conhecimento. (Albert Einstein)
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Re: Sistema Abortando

Mensagem por Mario Mesquita »

Bom dia.

Asimoes, deu certo. Obrigado, valeu mesmo.
alxsts
Colaborador
Colaborador
Mensagens: 3092
Registrado em: 12 Ago 2008 15:50
Localização: São Paulo-SP-Brasil

Re: Sistema Abortando

Mensagem 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?
[]´s
Alexandre Santos (AlxSts)
Avatar do usuário
Mario Mesquita
Usuário Nível 4
Usuário Nível 4
Mensagens: 613
Registrado em: 08 Dez 2009 13:47
Localização: Rio de Janeiro

Re: Sistema Abortando

Mensagem 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!
Responder