Página 1 de 1
PRGs com nomes iguais
Enviado: 17 Fev 2011 23:49
por =NuNuNO= Griesbach
Olá a todos,
Tenho um hbp para gerar uma lib, conforme o apresentado abaixo:
Código: Selecionar todos
-hblib
-es2
-w
-IEasyWay/include
-lhwguidyn
-lxhb
-lhbmysql
-llibmysql.dll
-lmysqlclient.lib
EasyWay/EasyWay.prg
EasyWay/Exception.prg
EasyWay/Db/Pdo/Abstract.prg
EasyWay/Db/Pdo/MySql/Driver.prg
EasyWay/EasyWay/Object.prg
EasyWay/Db.prg
EasyWay/Db/Pdo/Sql/Abstract.prg
O problema é que os arquivos EasyWay/Db/Pdo/Sql/Abstract.prg e EasyWay/Db/Pdo/Abstract.prg embora estejam em diretórios diferentes, possuem o mesmo nome, fazendo com que o .c e o .o gerados pelo hbmk2 sejam sobrescritos. Existe alguma maneira de gerar os .o e ,c respeitando a estrutura de pastas? Ou então na mesma pasta onde estão os PRGs?
Um grande abraço
=NuNuNO==
(Que não quer renomear, quer organizar...)
Re: PRGs com nomes iguais
Enviado: 18 Fev 2011 12:58
por =NuNuNO= Griesbach
Olá a todos!
Então, resolvi este problema de uma maneira um pouco fora de moda, porém, ficou bastante eficaz. Seguindo as normas POG para confecção de bacalhais, escrevi um pequeno programa que varre a estrutura de diretórios e copia o conteudo de todos os .PRGs e .CH para dentro de um PRG único, assim, como o nome de minhas classes são únicos, o fato do nome dos PRGs serem repetidos não influencia mais na compilação. De quebra, resolvi outro problema que estava enfrentando que era o de não poder instanciar objetos através de macros, quando as classes estavam dentro de minha lib.
Imaginando que este programa possa ser util para mais alguém (embora isso pareça bastante improvável) adicionei o arquivo "demode.zip" (mesmo sem muito orgulho) na seção de downloads, contendo o fonte e um executável para windows 32.
Um grande abraço
=NuNuNO==
( Que se está começando o projeto desta maneira, nem imagina como terminará... )
Re: PRGs com nomes iguais
Enviado: 22 Fev 2011 09:45
por jamazevedo
Olá Nununo.
O erro ocorre porque o Harbour cria uma pasta ".hbmk", nela ficam todos os arquivos temporários e transitórios para geração do executável, apesar do PRG está em pastas diferente, no momento da compilação eles vem todos para a pasta acima, ficando apenas o último "Abstract.prg" declarado.
Dica: troque logo o nome de um dos PRG's para não ter problemas no futuro.
Re: PRGs com nomes iguais
Enviado: 22 Fev 2011 12:48
por =NuNuNO= Griesbach
Hehehehe...O problema mais difícil de resolver é a minha teimosia. Sou teimoso até a última conseqüência. Tenho seguido em frente com meu projeto, usando o demode.exe (que publiquei na sessão de downloads), ele dificulta um pouco na hora de encontrar a linha em que um erro aconteceu, porém, nada que olhar o PRGzão gerado automáticamente não resolva... Sem falar que ele facilita bastante a compilação, basta gravar um PRG na estrutura de diretórios que ele é compilado e adicionado ao executável automaticamente, sem precisar editar o arquivo .HBP, e nem se preocupar com .OBJs desatualizados na virada do horário de verão

O único problema que vejo em fazer desta maneira é que se existir algum limite de caracteres/linhas em um único PRG, em algum momento eu vou ultrapassa-lo, mas, se isto acontecer, como sou teimoso, altero os fontes do hbmk2 e faço ele respeitar a minha estrutura de diretórios (é por isso que eu amo open-source!).
Ta bom, ta bom... Seria muito mais fácil renomear os arquivos, mas, qual seria a graça disso? Hehehehe
Um grande abraço
=NuNuNO==
( Implementando abstração de base de dados para aprender a sintaxe )