Boa tarde a todos.
Tenho um .PRG divido em procedures para tratar uma tabela. Quando o Form abre, por exemplo, faço um BROWSE da mesma e tudo está bem até aqui. O problema começa quando clico em botões para tratar os registros ou em um modulo de efetivação onde os dados desta tabela serão gravados em outra. Ocorre que ele aborta informando: "Alias does not exist". Mas abri as tabelas em uma procedure "de entrada", ela abre os arquivos e carrega o Form. Mais: Se eu contorno com um USE, o erro é outro. Aí, ele não reconhece itens do Form que está aberto. Mensagem como essa: "ProgressBar_1 Of Frm_Confirma Not defined. Program Terminated", onde Frm_Confirma é o Form que está em uso.
Notei que depois de atualizar a HMG de 2.9x para a 3.27, coisas que funcionavam agora falham. Convem atualizar para a ultima versão?
Esses programas são originais para o Clipper que estou remodelando para rodar com o HMG. Boa parte está funcionando bem, aparentemente. Ainda estou meio "cru" na MiniGui e, infelizmente, falta documentação de apoio, forçando a pediar ajudar aos colegas. Como ainda não entrei "de cabeça" no HMG (ainda uso Clipper), estou receoso de estar perdendo tempo, pois estou com dois trabalhos (esse, inclusive) encomendados que quero fazer com a ferramenta. Meu alento é que vejo muitos aqui e em outros foruns fazendo uso do HMG e se declarando satisfeitos. Quero ser um deles!
Desde já obrigado,
Mario.
Falha de SELECT em procedures
Moderador: Moderadores
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Falha de SELECT em procedures
Mário, verifique se em um destes môdulos o arquivo de dados não está sendo fechado (CLOSE ALL, USE (sem informar um DBF), DBCLOSEALL(), DBCLOSEAREA(), etc) ou você está chamando um ALIAS não existente mesmo.Mario Mesquita escreveu:Ocorre que ele aborta informando: "Alias does not exist".
Verifique se o nome do objeto (ProgressBar_1) está correto e se ele realmente existe em Frm_Confirma.Mario Mesquita escreveu:Mensagem como essa: "ProgressBar_1 Of Frm_Confirma Not defined. Program Terminated"
Sim, sempre é bom estar atualizando a biblioteca, pois estas atualizações geralmente são para corrigir possíveis bugs.Mario Mesquita escreveu:Convem atualizar para a ultima versão?
A MiniGui é uma ótima biblioteca, já utilizo ela faz 4 anos.
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Re: Falha de SELECT em procedures
Olá, Toledo.
Rapaz, tô ficando louco. Não sei se a forma muito "procedural" de codificar e aqui a coisa é por evento, mas como disse, coisas que estavam ok de repente ficaram doidas..
Quando entro no programa, ativo o Form, abro todos os arquivos envolvidos com a transação, tanto que ele abre um browse e edita a tabela. O problema começa quando clico em algum botão, todos com operações nesta tabela, seus codigos estão em procedures dentro do mesmo .PRG. Dentro dessas procedures é que ele não reconhece o arquivo aberto e não reconhece objetos do Form que estão lá! Com certeza, está tudo aberto e ativo. Dependendo do evento (botão) ativo partes do Form. Mas é como se ele tivesse "esquecido". Cheguei a "quebrar" um PRG em dois por achar que com definições de dois forms ele estava se confundindo. Esse modulo tem menos de 400 linhas, muito simples... E funcionava quando compilava com a versão 2.8 ou 2.9, nem lembro mais. Essa falha persiste há meses, deixo de lado um tempo e volto e não consigo resolver essa questão tão boba.
Por exemplo, nem estou usando USE..NEW. EStou usando a função DBUSEAREA(), como abaixo:
DBUSEAREA( .T.,"DBFCDX","CODIGOS" )
No modulo só tem um comando de fechamento numa procedure de saída, com DBCLOSEALL().
Resumindo, imagina um programa com a abertura de arquivos e carga do Form com um BROWSE no topo e um monte de procedures ativadas por botões, como naquele esquema "Incluir-Alterar-Excluir". Simples, né?
Eu quero muito trabalhar com a HMG, calculo que deve ser uma bobeira minha mesmo. Curioso que já fiz outro pequeno programa e está funcionando bem! Pequeno mas que faz um tipo de revisão de texto em arquivos .TXT com uso de dicionário e outras coisinhas e não levei essa piaba que estou levando nesse programa.
Obrigado pelo apoio.
Rapaz, tô ficando louco. Não sei se a forma muito "procedural" de codificar e aqui a coisa é por evento, mas como disse, coisas que estavam ok de repente ficaram doidas..
Quando entro no programa, ativo o Form, abro todos os arquivos envolvidos com a transação, tanto que ele abre um browse e edita a tabela. O problema começa quando clico em algum botão, todos com operações nesta tabela, seus codigos estão em procedures dentro do mesmo .PRG. Dentro dessas procedures é que ele não reconhece o arquivo aberto e não reconhece objetos do Form que estão lá! Com certeza, está tudo aberto e ativo. Dependendo do evento (botão) ativo partes do Form. Mas é como se ele tivesse "esquecido". Cheguei a "quebrar" um PRG em dois por achar que com definições de dois forms ele estava se confundindo. Esse modulo tem menos de 400 linhas, muito simples... E funcionava quando compilava com a versão 2.8 ou 2.9, nem lembro mais. Essa falha persiste há meses, deixo de lado um tempo e volto e não consigo resolver essa questão tão boba.
Por exemplo, nem estou usando USE..NEW. EStou usando a função DBUSEAREA(), como abaixo:
DBUSEAREA( .T.,"DBFCDX","CODIGOS" )
No modulo só tem um comando de fechamento numa procedure de saída, com DBCLOSEALL().
Resumindo, imagina um programa com a abertura de arquivos e carga do Form com um BROWSE no topo e um monte de procedures ativadas por botões, como naquele esquema "Incluir-Alterar-Excluir". Simples, né?
Eu quero muito trabalhar com a HMG, calculo que deve ser uma bobeira minha mesmo. Curioso que já fiz outro pequeno programa e está funcionando bem! Pequeno mas que faz um tipo de revisão de texto em arquivos .TXT com uso de dicionário e outras coisinhas e não levei essa piaba que estou levando nesse programa.
Obrigado pelo apoio.
- Toledo
- Administrador

- Mensagens: 3133
- Registrado em: 22 Jul 2003 18:39
- Localização: Araçatuba - SP
- Contato:
Re: Falha de SELECT em procedures
Olá Mário, sem ver o código fica um pouco complicado. Se for possível você colar aqui parte do seu código onde está ocorrendo o problema, talvez a gente consiga descobrir o que está acontecendo.
Abraços,
Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
- Mario Mesquita
- Usuário Nível 4

- Mensagens: 613
- Registrado em: 08 Dez 2009 13:47
- Localização: Rio de Janeiro
Re: Falha de SELECT em procedures
Toledo, uma coisa aconteceu!!
Estou desde 6h fuçando essa meleca e vi agora uma coisa que já tinha visto em outro form que estava dando pau: Eu coloquei uma função de saida (com fechamento de tabelas+release do form) no evento "OnLostFocus". Agora lembro que em outro form voltei com o NIL e pimba! Voltou a processar normalmente!
Claro que fiz m*, mas porque isso acontece? Apesar de tudo o foco ainda está no Form. Falha do HMG?
Valeu de novo!
Abraço!
Estou desde 6h fuçando essa meleca e vi agora uma coisa que já tinha visto em outro form que estava dando pau: Eu coloquei uma função de saida (com fechamento de tabelas+release do form) no evento "OnLostFocus". Agora lembro que em outro form voltei com o NIL e pimba! Voltou a processar normalmente!
Claro que fiz m*, mas porque isso acontece? Apesar de tudo o foco ainda está no Form. Falha do HMG?
Valeu de novo!
Abraço!