Jump to content
Fivewin Brasil

coiote

Membros
  • Posts

    30
  • Joined

  • Last visited

Everything posted by coiote

  1. Muito obrigado, Eric . O processo de compilação está bem melhor pois agora só falta reconhecer a hb_DynCall. Qual LIB contém a função hb_DynCall? Eu linkey apenas a Hbwin assim: Hbmk2 x.prg -lhbwin
  2. Mas eu não estou usando Fivewin, só Harbour 2.0 Há um equivalente?
  3. Resolvi Instalar o Harbour 2.0 que peguei hoje no sourceforge: http://sourceforge.net/projects/harbour ... z/download Nenhuma variável de ambiente foi configurada ainda pois o "Hello world" compilou sem problemas. Apenas descompactei o Harbour 2 na pasta HB20. Antes de iniciar a conversão do frente de loja para Fivewin quero converter os bancos de dados para Sql e imprimir cupons fiscais em modo console (que não é o foco deste forum) mas peço a ajuda dos colegas pois não há muitos forums xBASE e minha dúvida parece simples: por que o pequeno programa a seguir não compila? Function Main() h1:= LoadLibrary("Daruma32.dll") ret:= dllcall(h1,32,"Daruma_FI_LeituraX") Return Tentei gerar o X.exe desta maneira mas só gera o X.c: \HB20\BIN\HBMK2 X.PRG Deu os seguintes erros: undefined reference to HB_FUN_LOADLIBRARY undefined reference to HB_FUN_DLLCALL O que está faltando?
  4. Resolvi Instalar o Harbour 2.0 que peguei hoje no sourceforge: http://sourceforge.net/projects/harbour ... z/download Nenhuma variável de ambiente foi configurada ainda pois o "Hello world" compilou sem problemas. Apenas descompactei o Harbour 2 na pasta HB20. Antes de iniciar a conversão do frente de loja para Fivewin quero converter os bancos de dados para Sql e imprimir cupons fiscais em modo console (que não é o foco deste forum) mas peço a ajuda dos colegas pois não há muitos forums xBASE e minha dúvida parece simples: por que o pequeno programa a seguir não compila? Function Main() h1:= LoadLibrary("Daruma32.dll") ret:= dllcall(h1,32,"Daruma_FI_LeituraX") Return Tentei gerar o X.exe desta maneira mas só gera o X.c: \HB20\BIN\HBMK2 X.PRG Deu os seguintes erros: undefined reference to HB_FUN_LOADLIBRARY undefined reference to HB_FUN_DLLCALL O que está faltando?
  5. Já descobri que estes "unresolved external" são causados por chamadas às seguintes funções dentro do arquivo Dll.ch: LOADLIBRARY() GETRESOURCES() SETHANDLECOUNT() FREELIBRARY() TSAY() Esta não está nem em Fivewin.ch e nem em Dll.ch GETPROCADRESS() CALLDLL() Imagino que falta incluir alguma lib para que estas funções sejam reconhecidas pelo Borland Turbo Incremental Link 5.0 Se for isso mesmo que LIB é esta? Já tentei com o Harbour 1.0 e 2.0 usando Build.bat e Fivewin 6.12
  6. Isto eu já fiz. Agora faltam mais algumas declarações do tipo DLL32 FUNCTION. Uso Harbour 2.0.0 mas os mesmos unresolved external aontecem com o Harbour 1.0. Meu Fivewin é o 6.12 mas não estou usando as funções gráficas. Para imprimir o cupom fiscal uso a Daruma32.dll Veja o programa: #include "\Harbour\FWH\Include\FiveWin.ch" #include "\Harbour\FWH\Include\Dll.ch" Procedure Main() public Int_Retorno hBor := LoadLibrary( "bwcc32.dll" ) BWCCRegister( GetResources( ) ) SetHandleCount( 200 ) m->Int_Retorno := Daruma_FI_LeituraX() FreeLibrary( hBor ) // Release borland Return DLL32 FUNCTION Daruma_FI_LeituraX( ) AS LONG PASCAL FROM "Daruma_FI_LeituraX" LIB 'Daruma32.dll' DLL32 FUNCTION BWCCRegister( hInst AS LONG ) AS WORD PASCAL LIB "BWCC32.DLL" *Faltam algumas linhas como estas 2 últimas. Vc pode me dizer quais?
  7. Olá Amigos. Para resolver o seguinte erro no Harbour + Fivewin: Unresolved external '_HB_FUN_BWCCREGISTER' referenced from CUPOM.OBJ Foi só acrescentar no final do PRG a seguinte linha: DLL32 FUNCTION BWCCRegister( hInst AS LONG ) AS WORD PASCAL LIB "BWCC32.DLL" E para estes outros unresolved external? _HB_FUN_LOADLIBRARY _HB_FUN_GETRESOURCES _HB_FUN_STEHANDLECOUNT _HB_FUN_FREELIBRARY _HB_FUN_TSAY _HB_FUN_GETPROCADRESS _HB_FUN_CALLDLL _HB_FUN_MSGALERT
  8. Olá Amigos. Para resolver o seguinte erro no Harbour + Fivewin: Unresolved external '_HB_FUN_BWCCREGISTER' referenced from CUPOM.OBJ Foi só acrescentar no final do PRG a seguinte linha: DLL32 FUNCTION BWCCRegister( hInst AS LONG ) AS WORD PASCAL LIB "BWCC32.DLL" E para estes outros unresolved external? _HB_FUN_LOADLIBRARY _HB_FUN_GETRESOURCES _HB_FUN_STEHANDLECOUNT _HB_FUN_FREELIBRARY _HB_FUN_TSAY _HB_FUN_GETPROCADRESS _HB_FUN_CALLDLL _HB_FUN_MSGALERT
  9. Olá Samir. Não funcionou. Deu ambiguous reference. Então mandei o prg para o seu email. Se você puder dar uma compilada poderá ver o erro acontecendo e ficará mais fácil me ajudar. Eu agradeço muito por qualquer idéia que você tiver.
  10. Qual erro de sintaxe há nestas linhas compiladas com: Buildh Cupom3 cupom3(684) Syntax error E0030 // Controle da Porta DLL32 FUNCTION Daruma_Registry_ControlePorta( ControlePorta AS STRING ) AS LONG PASCAL; FROM "Daruma_Registry_ControlePorta" LIB 'Daruma32.dll' O mesmo erro se repete em várias linhas seguintes.
  11. Qual erro de sintaxe há nestas linhas compiladas com: Buildh Cupom3 cupom3(684) Syntax error E0030 // Controle da Porta DLL32 FUNCTION Daruma_Registry_ControlePorta( ControlePorta AS STRING ) AS LONG PASCAL; FROM "Daruma_Registry_ControlePorta" LIB 'Daruma32.dll' O mesmo erro se repete em várias linhas seguintes.
  12. Fivewin permite rodar meu sistema parte em modo console e parte em Windows como HwGUI? Afinal ele é muito grande e vai demorar para ser integralmente convertido. Abri um programa exemplo em http://www.4shared.com/file/68299493/d6680b4a/exemplo_vl_wvt_hwgui.html e vi que é possível ter modo console e windows no mesmo exe. O Fivewin 6.12 faz isso?
  13. Fivewin permite rodar meu sistema parte em modo console e parte em Windows como HwGUI? Afinal ele é muito grande e vai demorar para ser integralmente convertido. Abri um programa exemplo em http://www.4shared.com/file/68299493/d6680b4a/exemplo_vl_wvt_hwgui.html e vi que é possível ter modo console e windows no mesmo exe. O Fivewin 6.12 faz isso?
  14. Postei este tópico porque estou tendo dificuldades em converter meu sistema de 16 para 32 bits. Para explicar melhor eis o link onde eu explanei o problema com um exemplo no forum do Antônio Liñares: http://forums.fivetechsupport.com/viewtopic.php?f=21&t=17252 Devo dizer que a solução apresentada por ele funciona mas seria desnecessária se houvesse uma forma de gerar o exe apeasr do "undefined function"
  15. Colegas, A cláusula BLINKER EXECUTABLE NODELETE é uma mão na roda para quem desenvolve um sistema e o personaliza para vários clientes. Você escreve isso acima de BEGINAREA e abaixo vc lista os prg do sistema. Tudo isto no script de linkedição (arquivo lnk). No tempo do Clipper eu fazia um lnk para cada cliente e dentro dele só incluia os prg necessários para aquele cliente. E no Harbour? Não existe algo parecido? Se eu deixar de incluir um prg ele dá erro HB_FUN_. Por isso eu pergunto: Existe Blinker para 32 bits?
  16. Colegas, A cláusula BLINKER EXECUTABLE NODELETE é uma mão na roda para quem desenvolve um sistema e o personaliza para vários clientes. Você escreve isso acima de BEGINAREA e abaixo vc lista os prg do sistema. Tudo isto no script de linkedição (arquivo lnk). No tempo do Clipper eu fazia um lnk para cada cliente e dentro dele só incluia os prg necessários para aquele cliente. E no Harbour? Não existe algo parecido? Se eu deixar de incluir um prg ele dá erro HB_FUN_. Por isso eu pergunto: Existe Blinker para 32 bits?
  17. Amigos, Pelas respostas de vocês vejo que no Harbour sou obrigado a declarar todos os prg que fazem parte do projeto. Seja com Dynamic, seja com Include. Concluo que não é possível gerar o exe se meu sistema tem alguma linha que chame um outro prg que ainda não esteja escrito. Eu esperava que ele fizesse como no clipper: informar a inexistência daquele modulo (que no meu sistema são muitos) após a linkedição e apresentar o erro "undefined function" quando o usuário tentasse executar a opção corresondente ao módulo inexistente. Talvêz vocês perguntem por que pretendo fazer assim. É simples: eu faço um esqueleto só para todos os clientes e, para uns, habilito algumas opções do menu e para outros não. Cada cliente meu tem pelo menos 20 módulos que não se aplicam a eles. A solução que vejo para isso é linkar um prg contendo estas funções e deixá-las sem conteúdo assim: Function subtrai Return Nil Isto permitiria gerar um executável mais enxuto o que é melhor que incluir funções que eles não precisam. Alguém tem uma idéia melhor? Ou existe um Blinker para 32 bits?
  18. Isto deu o seguinte erro: Error E0030 Syntax error: "syntax error at 'SUBTRAI'"
  19. Olá colegas Existiria no Harbour uma cláusula semelhante ao BLINKER EXECUTABLE NODELETE que gera o exe apesar de um "unresolved external" como, por exemplo, na falta de um dos módulos compilados com /m no programa abaixo? Calc.prg: --------- Function Main() Cliente := "JOAO" If Cliente = "JOAO" Soma(1, 1) ElseIf Cliente = "MARIA" Subtrai(1, 1) // Este prg nao consta em Joao.lnk Endif // Como gero o exe apesar do Return Nil // unresolved external? Soma.prg: --------- Proc Soma(A, Return A+B Joao.lnk: ----------- Calc Soma Estou compilando assim: compila @Joao Compila.bat (parte dele) ----------- \Harbour\Bin\harbour @%1.lnk -m -n -q0 -i%HB_INC_INSTALL% %2 %3 %HARBOURFLAGS% Rem Arquitetura w32: bcc32 -O2 -d %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %1.c %HB_USER_LIBS% hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib gtwin.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddfpt.lib rddntx.lib rddcdx.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib
  20. Olá colegas Existiria no Harbour uma cláusula semelhante ao BLINKER EXECUTABLE NODELETE que gera o exe apesar de um "unresolved external" como, por exemplo, na falta de um dos módulos compilados com /m no programa abaixo? Calc.prg: --------- Function Main() Cliente := "JOAO" If Cliente = "JOAO" Soma(1, 1) ElseIf Cliente = "MARIA" Subtrai(1, 1) // Este prg nao consta em Joao.lnk Endif // Como gero o exe apesar do Return Nil // unresolved external? Soma.prg: --------- Proc Soma(A, Return A+B Joao.lnk: ----------- Calc Soma Estou compilando assim: compila @Joao Compila.bat (parte dele) ----------- \Harbour\Bin\harbour @%1.lnk -m -n -q0 -i%HB_INC_INSTALL% %2 %3 %HARBOURFLAGS% Rem Arquitetura w32: bcc32 -O2 -d %CFLAGS% -I%HB_INC_INSTALL% -L%HB_LIB_INSTALL% %1.c %HB_USER_LIBS% hbcpage.lib hbdebug.lib hbvm.lib hbrtl.lib gtwin.lib hblang.lib hbrdd.lib hbmacro.lib hbpp.lib rddfpt.lib rddntx.lib rddcdx.lib hbhsx.lib hbsix.lib hbcommon.lib hbpcre.lib hbzlib.lib
  21. Ih, galera Entendemos mal o que o MARSAN escreveu! Eu achei que o Gilmer tinha dado orientações e dicas mostrando o caminho das pedras pra quem não sabe por onde começar a Nfe. Isto sim poderia ser compartilhado. Mas pelos 2 posts acima ficou claro que foi uma acessoria a nível de programação e, como tal, deve ser paga e valorizada. Retiro o que escrevi e junto-me às opiniões do Luiz e do Vitor. Seus sábios conselhos me estimulam a também procurar o Gilmer. Antes porém vou aprender o que são classes.
  22. Eu também fiquei animado. É um desafio urgente o que estamos a enfrentar. E Janeiro de 2010 é o limite! Tudo já deverá estar implantado e eu estou apenas começando. Por favor, o que você mandar para o Donjuan mande também para Coiote. Sua lista de destinatários passa a ser: alessandroavel@ibest.com.br, ricardobarros@orolix.com.br
  23. Evandro, Agora o Mediator trabalha com MySql conforme o que diz no site www.otc.pl/index.asp?s=65 Now unlimited Mediator SQL RDD for MySQL for xHarbour, Harbour and Delphi applications is free for everyone! O site ainda propõe um teste: Crie uma tabela, preencha-a com 1 milhão de registros e use Browse() para navegar nela pulando do início ao fim o que deverá levar menos de 1 segundo. Se sua RDD não for capaz disso então ela não é tão otimizada quanto a Mediator. Já pensou? É o sonho de todo clipeiro! Será verdade? E todos os comandos do velho DBF estão disponíveis na versão free!
  24. Bjbernal, Sua opinião (de quem já experimentou algo além do Fivewin) é o que eu estava querendo saber. Vi num forum que a versão free da SqlLib só permite acesso para consultas (não grava nada no BD). Portanto só serve para testar. Há porém um RDD chamado Mediator que, segundo o próprio site, é o melhor driver para trabalhar com xBase e SQL (mais rápido, mais estável e oferece uma versão free limitada a 100 estações acessando um mesmo BD). O site abaixo (em inglês) cita as características que um RDD deve ter para ser eficiente: www.otc.pl/index.asp?s=65 Ao ver o seu depoimento me inclinei a favor do Fivewin. Obrigado.
×
×
  • Create New...