Toledo escreveu:
-ldflag=-Wl,--allow-multiple-definition
Prezado Toledo e demais companheiros, após ter colocado o código acima no .HBP do meu compilador do HMG, aconteceram algumas coisas estranhas, que gostaria de considerar:
1 - agora o aplicativo compila (pelo menos o BUILDING... da HMG 3.4.0 termina), só que não aparece o executável (exclui o anterior como se fosse criar um novo, mas, não cria) e também o arquivo de ERROR.txt não mais existe para mostrar a causa do erro por não ter compilado?!?!?!;
2 - quando abro o arquivo .HBP os comandos acima (-ldflag...) não mais existem;
3 - quando tento compilar novamente com a versão anterior da HMG que está funcionando 3.0.46 demora muito no BUILDING... e compila, só que aparece agora uma mensagem de RUNTIME que não existe uma variável. O estranho que essa variável é referente ao acesso ao REGEDIT (WIN_REG_EXPAND_SZ); E isso, com certeza funcionava anteriormente;
3.1 - veja a linha onde consta essa variável do REGEDIT:
Código: Selecionar todos
RegistroWin:= win_regRead( "HKLM\SOFTWARE\MICROSOFT\WINDOWS\teste\teste1",,WIN_REG_EXPAND_SZ )
4 - quando tento compilar com a HMG 3.0.35 aí a linha #REQUIRE 'HBWIN.CH' pára de funcionar e sou obrigado a voltar P/ #include 'hbwin.ch';
4.1 - aí compila e no momento do RUNTIME aparece a mensagem HB_GTI_ALTENTER como inexistente. Entendo que está relacionado à troca do #REQUIRE 'HBWIN.CH' por #include 'HBWIN.CH'.
Bom, sei que para V.Sas. parecem que minhas pastas (locais de instalação de todas HMG 3.0.35, 3.0.46, 3.4.0 e MINIGUIEXTEND, HWGUI, etc) estão confusas.
Mas, isso não condiz com a minha realidade. Um exemplo são os códigos que V.Sas. me passam e que acho muito confuso até entender; também é assim com meus locais de instalação que explico o porquê de serem assim:
- Certa vez, tinha eu tantos programas instalados e tudo conforme ensina os seus criadores (nas pastas originais sugeridas), então, com a máquina lotada (sem espáço em HDD) e aliado a uma lentidão, e também a necessidade de ter 2 ou mais sistemas operacionais windows para testes, precisei formatar meu computador de trabalho principal.
Aí vem a hora de fazer o backup de tudo e salvar... e mesmo com tanto cuidado, sem perceber perdi parte de códigos que eu tinha.
Então, a partir de então, mesmo não sendo na unidade %systemroot% crio uma pasta relacionada ao que preciso (no caso aqui MVINFO) e dentro dela as sub-pastas, que no caso são as da HB32\HMGs, etc...
Então, V.Sas. poderiam perguntar-me: "então, W de Paula, por que não instala tudo em MVINFO\HB32, MVINFO\HMG.3.0.35, MVINFO\HMG.3.0.46, etc, etc?"
Respondo: como estou testando as compilações em 2 windows diferentes(win xp 32 e win 7 64) - e tudo é muito novo pra mim, (como já disse noutros tópicos, consegui migrar/compilar em 01/2015) e luto contra o tempo e um atraso em mais de 15 anos no mercado, criei essa pasta MVINFO e ela é comum aos 2 sistemas operacionais. Então para o Win XP as pastas de instalação do harbour e seus relacionados aplicativos/IDEs é a partir de C:\MVINFO\.... Agora, para não atrapalhar a instalação um do outro, para o win 7, a pasta raíz é a partir de C:\MVINFO\HMG.3.0.46\...
Então, não sei se consegui explicar, mas, é a partir daí que pra nós não é difícil de entender, e está muito claro pra nós os locais de instalação.
Bom, enquanto comentava aqui esses 3 últimos parágrafos, na HMG 3.0.46 substituí o REQUIRE por INCLUDE e coloquei para compilar; como o processo é demorado aqui no win 7 64 bits (ou minha máquina tá muito lenta, rsrsrs) a mensagem de erro de variável inexistente (WIN_REG_EXPAND_SZ) deixou de aparecer, bem como das demais e compilou tudo normalmente.
Como já havia dito, acima que a IDE não é uma IDE/RAD STUDIO da Embarcadero DELPHI / C++, tô gostando mesmo dessa nova página na minha história como programador CLIPPER.
Espero que me não levem a mau e não me interpretem errado, pois é muita felicidade pra mim e a HMG foi um divisor de águas.
Acredito que pra eu ganhar o mercado que já está estabilizado com as empresas que já estão inseridas, preciso ainda fazer:
1 - homologar na SEFAZ - SRE/SEF de Minas meu aplicativo (e no site oficial do estado, achei muito complexo de entender. O que consegui entender [acho] que preciso ser PJ e não PF; preciso pagar uma taxa de 61 Unidade de valor +ou- uns R$ 200,00; mandar xerox da documentação para o endereço da Receita Estadual); Agora, como cadastrar meu software ainda não entendi...
2 - aprender a alterar meu software e incluir os códigos fontes necessários para deixar de ser NÃO FISCAL e torná-lo FISCAL que atenda ao comércio varejista no geral;
3 - aprender a escolher um banco de dados melhor, pois não sei se o Estado aceitaria DBF/NTX;
4 - melhorar a aparência (deixar de ser console e passar a ser gráfico), e parte disso, já tenho conseguido sem mexer no código fonte, alterando a tela de ERROSYS para uma bem mais amigável e apresentável (apesar que não quero que ela aconteça); as mensagens de que antes usava-se ENTER para confirmar ou ESC ou S/N agora, já são gráficas; uso do mouse (funciona mais ou menos nos GETs); mas, as telas do menu principal e dos cadastros/consultas/relatórios, preciso arrumar uma forma de migrar para gráfico (uso do mouse, botões, labels, boxes, etc) sem muita alteração, pois pelo que até agora pesquisei, só é possível com uma mudança drástica no código, e, isso, é mais fácil de se fazer no DELPHI do que em harbour pela falta de uma IDE/RAD;
5 - Aprender a usar corretamente o sistema de impressão que outro que tá dando muita dor de cabeça: WINPRINTFILERAW ou WINPRN32. Palativamente falando recebi do Sr. TOLEDO/PC o Open_Rel.exe que aprendi a usá-lo, mas, não consegui compilá-lo mesmo baixando a atual HWGUI, pois queria tirar dele a parte que não é necessária pra mim, para poder ser um aplicativo que o cliente nem percebesse;
6 - Finalmente, sair nos contadores, lojas de informática, para oferecer minha parceria e sem falar de usar sola de sapato para conseguir colocar meu aplicativo, pois, acredito que só assim conseguirei meu primeiro SIM, pois desde janeiro quando migrei, resolvi sair e tentar vender, mas, observo que as pessoas não querem mais aplicativos em MODO CONSOLE.
Bom, mais uma vez, obrigado a todos, e, espero que me compreendam (em nome de todos aqueles que como eu, um dia, encontrou o PCTOLEDO e foi a ajuda e o emperrou que faltava) minhas perguntas, e, até mesmo infantis;
Abraço a todos, e, enquanto estou digitando essas últimas considerações, coloquei para tentar compilar novamente com a HMG 3.4.0 32 bits, aliás, após conseguir fazer funcionar (com vossas ajudas), o que fazer para compilar como 64 bits? é só mudar lá em cima no menu a opção de 32 para 64? ou tem alguma mudança no código?
Vlw!