Clipper On Line • Ver Tópico - Primeiros passos com FiveWin
Mudar para estilo Clássico
Discussão sobre a biblioteca Fivewin - O Clipper para Windows.
Postar uma resposta

Primeiros passos com FiveWin

10 Mar 2020 10:21

Pessoal, venho pedir a ajuda de vocês em relação ao Fivewin. Eu estou tentando gerar um executável e estou tendo pouco sucesso. Vejam como estou fazendo :

( 1 ) Baixei o fivewin versão de demonstração do site fivetech

( 2 ) Verifiquei que a lib possui versões para harbour e xharbour. Escolhi testar com o harbour pois já sou familiarizado.

( 3 ) A lib também possui versões para 3 compiladores. O Visual C, o Microsoft C e o Borland C++ 5.5. Escolhi o Borland C++ 5.5 porque os demais não tem a versão especificada. Somente o Borland C++ veio com a versão 5.5

( 4 ) Ou seja, usarei as libs para Borlanc C++ 5.5 e compilarei usando o harbour. As libs são fivehc.lib e fiveh.lib, de acordo com o readme.txt da pasta c:\fwh\lib.

( 5 ) Baixei o Borland C++ 5.5 , adicionei o c:\Bcc55\bin ao path do sistema. Gerei um executável simples e deu certo (“Hello world”)

( 6 ) Compilei o Harbour 3.2 dos fontes usando o Borland C++ 5.5

( 7 ) Sei que é desnecessário, mas copiei as duas libs do fivewin (fivehc.lib e fiveh.lib) para a pasta c:\harbour\lib\win\bcc\

( 8 ) Pelo que observei, existem duas formas de se gerar um executável. Uma usando o arquivo buildh.bat, que fica na pasta samples do fivewin e outra usando o método tradicional do harbour (com hbmk2)

( 8.1 ) Usando o método tradicional, com hbmk2

( 8.1.1 ) Usando o hbmk2 para mim ele dá certo quando incluo SOMENTE a biblioteca fivehb.lib, segue abaixo o meu arquivo fivewin01.hbp

Código:
   -lfivehc
   -IC:\Fwh\INCLUDE

   hbxpp.hbc

   fivewin01.prg


O arquivo fivewin01.prg :

Código:
   #include “fivewin.ch”

   PROCEDURE MAIN
   
      MsgInfo( FWVERSION + CHR(13) + FWCOPYRIGHT , FWDESCRIPTION )

      RETURN



( 8.1.2 ) O programa é gerado, aparece a janela windows com a barra de títulos : “Fivewin for Harbour” e o conteúdo : “FWH 6.1.2” e na linha de baixo : “(c) FiveTech 1993-2006”. Achei muito antigo, mas é a versão de demonstração oficial do site é de 2006. Até aí tudo bem, é só uma observação. Pelo que entendi, a versão do Fivewin foi tão crackeada que o Antonio Linares resolveu não disponibilizar uma versão nova para avaliação.

( 8.1.3 ) Agora vem os problemas e onde peço a ajuda dos senhores. Quando acrescento a lib fiveh.lib (usando o flag -lfiveh no meu fivewin01.hbp) aparece uma série de mensagens de erro e o executável não é gerado.

Seguem as mensagens :

Código:
   Harbour 3.2.0dev (r2002240732)
Copyright (c) 1999-2020, https://harbour.github.io/
Compiling 'fivewin01.prg'...
Lines 3479, Functions/Procedures 1
Generating C source output to 'C:\Users\Win7\AppData\Local\Temp\hbmk_cbpbir.dir\fivewin01.c'... Done.
C:\Users\Win7\AppData\Local\Temp\hbmk_cbpbir.dir\fivewin01.c:
Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland
Error: Unresolved external '_hb_vmProcessSymbolsEx' referenced from C:\HARBOUR\LIB\WIN\BCC\FIVEH.LIB|ERRSYSW
Error: Unresolved external '_HB_FUN_HB_DBG_VMSTKLCOUNT' referenced from C:\HARBOUR\LIB\WIN\BCC\FIVEH.LIB|HARBOUR
Error: Unresolved external '_HB_FUN_HB_DBG_VMPARLLIST' referenced from C:\HARBOUR\LIB\WIN\BCC\FIVEH.LIB|HARBOUR
Error: Unresolved external '_HB_FUN_HB_DBG_VMVARLGET' referenced from C:\HARBOUR\LIB\WIN\BCC\FIVEH.LIB|HARBOUR
Error: Unresolved external '_HB_FUN_HB_DBG_VMVARSLEN' referenced from C:\HARBOUR\LIB\WIN\BCC\FIVEH.LIB|HARBOUR
hbmk2[fivewin01]: Erro: Executando linkeditor. 2
ilink32.exe @C:\Users\Win7\AppData\Local\Temp\8jnzcl.lnk

hbmk2: Erro: Referenciado, faltando, mas funções desconhecida(s):
       HB_DBG_VMSTKLCOUNT(), HB_DBG_VMPARLLIST(), HB_DBG_VMVARLGET(),
       HB_DBG_VMVARSLEN()



( 8.2 ) Usando o outro método, que é pelo arquivo buildh.bat na pasta samples do fivewin ( c:\fwh\samples ) é bem mais complicado. Para começar as libs do harbour foram mudadas e o arquivo referencia libs antigas. Por exemplo, lá tem a lib vm.lib, mas o harbour mudou o nome dessa lib para hbvm.lib. Enfim, depois que vi isso eu não tentei mais.

Primeiros passos com FiveWin

10 Mar 2020 14:44

Acho que é mais ou menos isto:

----c:\fwh\fwdemo.hbc-----
gui=yes
incpaths=include
libpaths=lib
{bcc&!xhb}libraries= fiveh, fivehc
{msvc&!xhb}libraries= fivehm, fivehcm
{bcc&xhb}libraries= fivehx, fivehc
{msvc&xhb}libraries= fivehmx, fivehcm
{msvc64&!xhb}libraries= fiveh64, fivehc64
{msvc64&xhb}libraries=fiveh64x, fivehc64


---(x)harbour\bin\hbmk.hbc
libpaths=c:\fwh


----projeto.hbp---
arquivo.prg
fwdemo.hbc


E lógico, pastas originais com conteúdo original
Pasta (x)harbour\bin no path
Pasta bcc55\bin no path
E por precaução:
SET HB_INSTALL_PREFIX=c:\harbour
E talvez:
SET HB_COMPILER=bcc

Pode até voltar as libs do fivewin pra c:\fwh\lib

A vm.lib que comentou, provavelmente é a da linguagem C, e não a do Harbour.

Opcionalmente, se não quiser mexer na máquina: hbmk2 projeto.hbp -comp=bcc

Lembre-se: pode deixar mingw, bcc, msvc, etc. tudo no PATH
A compilação vai ser controlada por -comp= ou pela variável HB_COMPILER
Pode deixar o default em HB_COMPILER, e selecionar por -comp= quando quiser diferente

Primeiros passos com FiveWin

10 Mar 2020 15:07

Só pra recapitular:

fwdemohbc = é a necessidade da fivewin, coloca no HBC o que a LIB precisa, e indica o HBC no projeto

harbour\bin\HBMK.HBC = configuração padrão para o "SEU HARBOUR"

Indicando a pasta do fivewin como lib (c:\fw), no hbmk.hbc, se indicar o fwdemo.hbc ele vai ser encontrado e vai ser usado pra compilar com fivewin

No fwdemo.hbc, a posição das LIBs é relativa aonde ele está, portanto indicando lib e include serão considerados c:\fw\lib e c:\fw\include

As demais LIBs, do Harbour e do compilador C, o HBMK2 pega automaticamente pelo PATH, já que os executáveis precisam estar no PATH pra funcionar
Mas pra isso funcionar, precisa indicar corretamente o compilador. -comp=bcc ou SET HB_COMPILER=bcc

O Harbour tem um pequeno bug e/ou falta de atualização, principalmente o Harbour 3.2 e/ou XHarbour:
Nem tudo foi atualizado, e pode ter dependência ainda de SET HB_INSTALL_PREFIX=c:\(x)harbour

E se não quiser fivewin, é só não indicar fwdemo.hbc no projeto que ela não vai ser usada.
Basicamente é isso.

muito legal isso:
- se indicar fwdemo.hbc já configura tudo do fivewin, e se não indicar nada já não usa nada do fivewin.
- se indicar o compilador C, já configura tudo do compilador C, senão é usado qualquer algum do PATH

Nota: não uso fivewin, mas uso hbmk2.

Primeiros passos com FiveWin

10 Mar 2020 18:46

Obrigado pelas respostas e pelo seu tempo desprendido para descrever tudo com detalhes.

Amanhã vou testar e boto os resultados aqui.

Primeiros passos com FiveWin

11 Mar 2020 11:27

Bom dia Vlademiro. Mira aqui:

http://forums.fivetechsupport.com/viewtopic.php?f=6&t=38608

Abs.

Primeiros passos com FiveWin

11 Mar 2020 18:15

Valeu.

Fui eu que postei. Fui perturbar o pessoal lá também. Até agora não obtive sucesso. O Antônio Linares devia ter uma versão de demonstração mais fácil de instalar.

Primeiros passos com FiveWin

27 Mar 2020 11:34

Conclusão:

O fivewin (versão de demonstração) disponível no site oficial só compila com o harbour antigo (de uns 14 anos atrás), a versão nova do harbour possui outras nomenclaturas no nome das libs (por exemplo: hbrtl.lib, quando antes era rtl.lib) e apresenta erros para gerar o executável. Esqueça o hbmk2 porque ele não existia na época.

Recebi respostas por e-mail de colegas que me afirmaram que existem versões mais novas do fivewin que funcionam com o harbour atual, mas a que eu tenho aqui (a demo do site) exige um harbour antigo para funcionar.

Digo isso porque consegui gerar um executável com a demo fornecido pelo site e compilou redondo e executou. Em algumas samples deu erro, mas creio que é porque sou usuário do linux e uso o wine para testar (o wine dá uns errinhos de compatibilidade as vezes).

De qualquer forma o executável foi gerado com a versão antiga sem maiores problemas.

Na minha opinião creio que isso é um tiro no pé. O criador da LIB tem medo de ter seu produto craqueado, mas essa não me parece ser uma boa medida protetiva, já que inibe novos usuários. Mas, enfim, talvez eu não esteja vendo o cenário todo.

Primeiros passos com FiveWin

27 Mar 2020 12:26

Lá na década de 90 ou começo dos anos 2000, Fivewin era a melhor opção, hoje é mais uma opção, usando MiniGUI ou HwGUI dá no mesmo.
Eu que uso MiniGUI a muitos anos digo, qualquer coisa que o Fivewin faça no Windows a MiniGUI faz !
Download e instruções : http://hmgextended.com/

Primeiros passos com FiveWin

27 Mar 2020 12:46

Pois é, colega. Eu já desconfiava disso...

O teste com fivewin foi a pedido de um velho amigo que tem um sistema Clipper feito com fivewin e quer portar para harbour. No caso dele talvez compense.

Primeiros passos com FiveWin

27 Mar 2020 12:48

Obrigado pela dica e pelo link, vou aproveitar a quarentena pra dar uma olhada no hmgextend e HwGui. Só por curiosidade mesmo.

Primeiros passos com FiveWin

29 Jun 2020 12:56

Pessoal, estou disponibilizando o arquivo fivewin.zip no link abaixo.

Eu tive dificuldade para configurar o ambiente a pedido de um amigo meu, mas deu tudo certo.

Nesse zip tem :

1. Fivewin (última versão gratuíta, de 2006)
2. Harbour 0.99 (versão antiga compatível com Fivewin)
3. Borland C++ 5.5 (na raiz do zip tem os arquivos de configuração)
4. xDev editor de programação

No zip só tem arquivos originais e gratuítos, não tem fonte de sistemas de terceiros e nada pago.
É antigo mas serve para quem quiser testar o Fivewin. Quem vem do Clipper vai gostar muito.

Nota: na pasta do google tem outros arquivos, mas basta baixar o fivewin.zip

https://drive.google.com/drive/folders/1faNDb9LAb_RPYl9fiGR7AWHbSLsQMiVs?usp=sharing

Já eu estou tendo uma boa impressão da HMG (apesar de não ser atualizada a bastante tempo)
Postar uma resposta