Página 1 de 1

Janelas em tempo de execução

Enviado: 08 Ago 2016 19:14
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

Janelas em tempo de execução

Enviado: 08 Ago 2016 20:55
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!

Janelas em tempo de execução

Enviado: 10 Ago 2016 08:48
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.

Janelas em tempo de execução

Enviado: 10 Ago 2016 10:13
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