Janelas em tempo de execução

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Janelas em tempo de execução

Mensagem por Vlademiro »

Pessoal, estou fuçando nos fóruns e achei um post em

http://www.hmgforum.com/viewtopic.php?f ... ime#p33873

que fala sobre forms runtime.

Eu até tentei fazer aqui mas dá um erro : Error BASE/9998 Erro nos parƒmetros: HB_HRBLOAD

Alguém sabe se existe uma forma menos complicada de gerar esses forms ? Lá no fórum alguém disse que ficaria inseguro e eu até concordo, mas se vc esconder os forms em algum lugar então creio que não haverá problemas. Aqui mesmo no fórum fui pesquisar e tem algo sobre hb_compilefrombuff (acho que é esse o nome) mas, quem sabe alguém não tem algo menos complicado... :D

O que vcs acham ?


Obrigado pela atenção
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Janelas em tempo de execução

Mensagem por Vlademiro »

Andei tentando mas sem sucesso. Vou acrescentar o programa fonte exemplo cujo autor é Pablo Cesar (o cara é fera), vou anexar também dois formulários fmg. O Main funciona blz, mas o brw_grupos.fmg nao funciona.

Também inclui uma função em C que gera um arquivo comp.log com as mensagens de erro da "compilação em tempo de execução" (engraçado esse termo).

E também gero um arquivo chamado antes_de_enviar.prg que tem o conteúdo imediatamente anterior a compilerfrombuff.

Note que quando tento compilar o form Main.fmg ele gera antes_de_enviar.prg correto mas no fmg brw_grupos.fmg ele nao consegue converter a linha inicial e aí gera erro.

O projeto pode ser aberto pelo IDE HMG 3.4.2 , mas creio que irá funcionar com outros, se o de vcs forem outro tem que alterar no fonte o path em dois locais.

Obrigado pessoal.
runtime.zip
(9.11 KiB) Baixado 89 vezes
Outra coisa que eu queria a opinião de vcs é sobre essa forma de trabalhar (gerando em tempo de execução os forms FMG). Alguém já implementou com sucesso ? Quais os cuidados que devemos tomar ?

Valeu gente!
Avatar do usuário
Pablo César
Usuário Nível 7
Usuário Nível 7
Mensagens: 5312
Registrado em: 31 Mai 2006 10:22
Localização: Curitiba - Paraná

Janelas em tempo de execução

Mensagem por Pablo César »

Oi Vlademiro,

Eu lamento que não tenha conseguido ter acesso como usuário no fórum oficial da HMG como você disse em MP.
Só respondo ao seu pedido em consideração a esta comunidade e pelo meu agradecimento ao amigo Toledo.

O que eu observei de entrada é que no seu arquivo brw_grupos.fmg tem um "ON" a mais no final da linha onde define o WINDOW. Mas ainda não seria esse o problema.

Veja que o arquivo nem sequer está abrindo na IDE da HMG. Sinal que algo errado está. Verifiquei e fiz testes e percebi que tais arquivos fmg precisam começar na segunda linha. Talvez por ter sido gravado em padrão UNICODE esta linha possivelmente esteja sendo mal interpretada pela rotina da IDE. E com isto estaria comendo o primeiro caracter da primeira linha. Portanto, experimenta deixar a primeira linha em branco ou até mesmo faça um comentário. O importante sempre que seu fmg carregue normalmente na IDE, isso será um teste fundamental para saber se o seu arquivo contém algum erro.

Aquelas rotinas que eu fiz de carregar "on the fly" os arquivos fmg, apenas servia com o propósito de carregar os formulários ao selecioná-los (sem terem sidos compilados) e que permitisse elaborar um editor de fmg. Aquilo serviu no aprendizado. Abandonei o projeto por puro desânimo...

Agora se vale ou não a pena a utilização. Vai de cada um. O ser humano aprende e melhora coisas quando a imaginação dele se encontra livre. É por isso que não participo nas minhas publicações lá naquele fórum. Tem usuários lá que são hostil a mudanças e perseguem aqueles que se destacam a não serem eles mesmos que querem auto promover-se. O pior que esses caras ainda fascinam com o puxa-saquismo do fundador, do dono do site, enfim... Por isso, eu estou voltado a aprender outra linguagem de programação. Respeito e gentileza para mim é tudo. Desculpem o desabafo.
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.
Avatar do usuário
Vlademiro
Usuário Nível 4
Usuário Nível 4
Mensagens: 752
Registrado em: 11 Jul 2005 02:46

Janelas em tempo de execução

Mensagem por Vlademiro »

Pablo, obrigado pelas considerações, vou verificar novamente com mais atenção o meu código (essa de testar o form no IDE da HMG era bem básico mesmo, fiquei até com vergonha, eu devia ter tentado isso e acabei fazendo outros testes até mais complicados).

Eu também gosto de tentar coisas novas com a linguagem harbour, mas ao contrário de você e de outros eu não sou um ótimo programador, por isso de vez em quando fico preso com erros pequenos. Quanto ao seu "desabafo" eu também já vi em outros fóruns situações semelhantes. Ontem mesmo, por coincidência, estava pensando : "a linguagem xbase (clipper, harbour, xharbour, etc) tem um grande inimigo que é ela mesma na figura de alguns poucos usuários e alguns mantenedores também". Enquanto estava no outro fórum acompanhando o seu tópico (gigantesco por sinal) vi o quanto você se esforçou e trabalhou só nesse projeto. Quando a gente trabalha só, por puro prazer, e ainda tem que ouvir críticas dos chatos de plantão a gente realmente se desmotiva.

Novamente lhe agradeço a atenção, eu também já saí do harbour há alguns anos e aprendi outras linguagens por conta do mercado. Mas agora que disponho de tempo para estudar (terminei uma faculdade que vinha se arrastando e tenho um emprego sem a correria dos anteriores) eu voltei a programar em harbour. Eu gosto muito dessa linguagem. Creio que você irá voltar a participar ativamente do nosso fórum pois quem já desenvolveu em clipper/harbour nunca deixa de gostar dessa linguagem nem de criar algo novo com ela. O seu aprendizado com outras linguagens vai lhe ajudar a ver os problemas de uma outra forma, aprender novas técnicas e novos padrões de projeto e implementar essas ideias nos seus projetos futuros em harbour.

Obrigado :)Pos
Responder