Página 1 de 1

AJUDA HBMK2

Enviado: 03 Mar 2011 09:58
por luiz53
Estou tentando usar o harbour com fivewin

na compilacao esta dando um erro
na classe tsysinfo...
MAS PERCEBI que o erro esta dando em OUTROS lugares
que uso o DLL32

Código: Selecionar todos

DLL32 FUNCTION GetVerExA( @lpVersionInformation As LPSTR ) As LONG PASCAL From "GetVersionExA" Lib "KERNEL32.DLL"
c:\XFONTES\XRETAG>HBMK2 O.HBP
hbmk2: Harbour: Compilando módulos...
Harbour 2.1.0beta2 (Rev. 15420)
Copyright (c) 1999-2010, http://harbour-project.org/
Compiling 'c:\xfontes\xgeral\tsysinfo.prg' and generating preprocessed output to
'c:\xfontes\xgeral\tsysinfo.ppo'...
c:\xfontes\xgeral\tsysinfo.prg(929) Error E0030 Syntax error "syntax error at '
FUNCTION'"
1 error


ALGUEM PODERIA ME AJUDAR ?????????????????????

Re: AJUDA HBMK2

Enviado: 03 Mar 2011 10:24
por vailton
Olá Luiz,

Copiei esta linha em um arquivo chamado T.PRG e na linha de comando testei como:

c:\test>\xhb\bin\harbour t /i\fwh\include /i\xhb\include
xHarbour Compiler build 1.2.1 (SimpLex) (Rev. 6717)
Copyright 1999-2010, http://www.xharbour.org http://www.harbour-project.org/
Compiling 't.prg'...
Lines 5, Functions/Procedures 2
Generating C source output to 't.c'...
Done.

Funcionou corretamente, eis o meu codigo:

Código: Selecionar todos

#include "FiveWin.ch"

DLL32 FUNCTION GetVerExA( @lpVersionInformation As LPSTR ) As LONG PASCAL From "GetVersionExA" Lib "KERNEL32.DLL"
Como sugestão, verifique os arquivos .CH incluidos no fonte e observer a ordem dos mesmos... Talvez o problema esteja aê.

Att,
Vailton Renato

Re: AJUDA HBMK2

Enviado: 03 Mar 2011 10:32
por luiz53
Muito Obrigado pela Pronta Resposta ....
Eu uso a XDEV e com ela compila sem problemas

vou posta como esta o meu arquivo .HBP ...

Código: Selecionar todos

# Forçar recompilação
-inc
#-clean
#-rebuild

# Arquivo a ser gerado
-oC:\XFONTES\XRETAG\OMEGA.EXE

c:\xfontes\xretag\winretag.prg
c:\tools\FW26\source\classes\control.prg
c:\xfontes\xgeral\sbbarinf.prg
c:\xfontes\xgeral\wincheck.prg
c:\xfontes\xgeral\xbrowse.prg
c:\xfontes\xgeral\mxbrowse.prg
c:\xfontes\xgeral\calend.prg
c:\xfontes\xgeral\tcalenda.prg
c:\xfontes\xgeral\fwerror.prg
c:\xfontes\xgeral\multisel.prg
c:\xfontes\xgeral\btnget.prg
c:\xfontes\xgeral\btndown.prg
c:\xfontes\xgeral\tget.prg
c:\xfontes\xgeral\buttonb.prg
c:\xfontes\xgeral\bar.prg
c:\xfontes\xgeral\btnbmp.prg
c:\xfontes\xgeral\msgbar.prg
c:\xfontes\xgeral\tsysinfo.prg
c:\xfontes\xgeral\winbrow.prg
c:\xfontes\xgeral\winfunc.prg
c:\xfontes\xgeral\winfunc2.prg
c:\xfontes\xgeral\winstup.prg
c:\xfontes\xgeral\windlls.prg
c:\xfontes\xgeral\winstru.prg
c:\xfontes\xgeral\winsenh.prg
c:\xfontes\xgeral\winicia.prg
c:\xfontes\xgeral\mrelat.prg
c:\xfontes\xgeral\mform.prg
c:\xfontes\xgeral\report.prg
c:\xfontes\xgeral\trptline.prg
c:\xfontes\xgeral\tdosprn.prg
c:\xfontes\xgeral\rpreview.prg
c:\xfontes\xgeral\tfilepdf.prg
c:\xfontes\xgeral\tmexcel.prg
c:\xfontes\xgeral\tgraph.prg
c:\xfontes\xgeral\g_window.prg
c:\xfontes\xgeral\g_server.prg
c:\xfontes\xgeral\wingraph.prg
c:\xfontes\xgeral\webcam32.prg
c:\xfontes\xgeral\winabre.prg
c:\xfontes\xgeral\winmail.prg
c:\xfontes\xgeral\winofer.prg
c:\xfontes\xgeral\txtprev.prg
c:\xfontes\xgeral\wincoma.prg
c:\xfontes\xconc\winflash.prg
c:\xfontes\xconc\wincarga.prg
c:\xfontes\xconc\winmapa.prg
c:\xfontes\xconc\wincad01.prg
c:\xfontes\xconc\wincad02.prg
c:\xfontes\xconc\wincad03.prg
c:\xfontes\xconc\wincad04.prg
c:\xfontes\xconc\wincad05.prg
c:\xfontes\xconc\wincad06.prg
c:\xfontes\xconc\wininven.prg
c:\xfontes\xconc\winrelat.prg
c:\xfontes\xsupe\winot2.prg
c:\xfontes\xsupe\winot3.prg
c:\xfontes\xsupe\winot4.prg
c:\xfontes\xsupe\winot5.prg
c:\xfontes\xsupe\winot6.prg
c:\xfontes\xsupe\wintab3.prg
c:\xfontes\xsupe\winprint.prg
c:\xfontes\xnfe\danfe.prg
c:\xfontes\xnfe\vonfe2g.prg
c:\xfontes\xnfe\vonfeutil2g.prg
c:\xfontes\xnfe\win_nfe.prg
c:\xfontes\xretag\winfech.prg
c:\xfontes\xretag\wincons.prg
c:\xfontes\xretag\winconf2.prg
c:\xfontes\xretag\winbole.prg
c:\xfontes\xretag\winbol2.prg
c:\xfontes\xretag\ret_copr.prg
c:\xfontes\xretag\ret_cop2.prg
c:\xfontes\xretag\ret_cop3.prg
c:\xfontes\xretag\ret_cop4.prg
c:\xfontes\xretag\ret_sin.prg
c:\xfontes\xretag\rel_e03.prg
c:\xfontes\xretag\rel_e04.prg
c:\xfontes\xretag\rel_e05.prg
c:\xfontes\xretag\rel_e06.prg
c:\xfontes\xretag\rel_e07.prg
c:\xfontes\xretag\rel_e13.prg
c:\xfontes\xretag\rel_e15.prg
c:\xfontes\xretag\rel_e19.prg
c:\xfontes\xretag\rel_e20.prg
c:\xfontes\xretag\rel_e30.prg
c:\xfontes\xretag\rel_e31.prg
c:\xfontes\xretag\rel_e32.prg
c:\xfontes\xretag\rel_e33.prg
c:\xfontes\xretag\rel_e40.prg
c:\xfontes\xretag\rel_e41.prg
c:\xfontes\xretag\rel_e42.prg
c:\xfontes\xretag\ret_ent.prg
c:\xfontes\xretag\ret_entx.prg
c:\xfontes\xretag\ret_pede.prg
c:\xfontes\xretag\ret_ped.prg
c:\xfontes\xretag\ret_peds.prg
c:\xfontes\xretag\ret_peds1.prg
c:\xfontes\xretag\ret_peds2.prg
c:\xfontes\xretag\ret_peds3.prg
c:\xfontes\xretag\ret_peds4.prg
c:\xfontes\xretag\ret_peds5.prg
c:\xfontes\xretag\ret_peds6.prg
c:\xfontes\xretag\ret_peds7.prg
c:\xfontes\xretag\ret_peds8.prg
c:\xfontes\xretag\ret_es0.prg
c:\xfontes\xretag\ret_es1.prg
c:\xfontes\xretag\ret_es2.prg
c:\xfontes\xretag\ret_es3.prg
c:\xfontes\xretag\ret_es4.prg
c:\xfontes\xretag\ret_es5.prg
c:\xfontes\xretag\ret_es5b.prg
c:\xfontes\xretag\ret_es5c.prg
c:\xfontes\xretag\ret_es5p.prg
c:\xfontes\xretag\ret_es5s.prg
c:\xfontes\xretag\ret_es6.prg
c:\xfontes\xretag\ret_es6s.prg
c:\xfontes\xretag\ret_es7.prg
c:\xfontes\xretag\ret_es8.prg
c:\xfontes\xretag\ret_es9.prg
c:\xfontes\xretag\ret_es10.prg
c:\xfontes\xretag\ret_es11.prg
c:\xfontes\xretag\ret_es12.prg
c:\xfontes\xretag\ret_es13.prg
c:\xfontes\xretag\ret_es14.prg
c:\xfontes\xretag\ret_es15.prg
c:\xfontes\xretag\ret_liv1.prg
c:\xfontes\xretag\ret_nfe.prg
c:\xfontes\xretag\ret_pr1.prg
c:\xfontes\xretag\win_udfs.prg
c:\xfontes\xretag\winacess.prg
c:\xfontes\xretag\winrsel.prg
c:\xfontes\xretag\winr004.prg
c:\xfontes\xretag\winr005.prg
c:\xfontes\xretag\winr006.prg
c:\xfontes\xretag\winr007.prg
c:\xfontes\xretag\winr008.prg
c:\xfontes\xretag\winr009.prg
c:\xfontes\xretag\winr010.prg
c:\xfontes\xretag\winr011.prg
c:\xfontes\xretag\winr012.prg
c:\xfontes\xretag\winr015.prg
c:\xfontes\xretag\winr016.prg
c:\xfontes\xretag\winr017.prg
c:\xfontes\xretag\winr030.prg
c:\xfontes\xretag\winr031.prg
c:\xfontes\xretag\winr032.prg
c:\xfontes\xretag\winr033.prg
c:\xfontes\xretag\winr034.prg
c:\xfontes\xretag\wincheq.prg
c:\xfontes\xretag\winche2.prg
c:\xfontes\xretag\winadm0.prg
c:\xfontes\xretag\winadm0a.prg
c:\xfontes\xretag\winadm1.prg
c:\xfontes\xretag\winadm1a.prg
c:\xfontes\xretag\winadm2.prg
c:\xfontes\xretag\winadm3.prg
c:\xfontes\xretag\winadm3g.prg
c:\xfontes\xretag\winadm3s.prg
c:\xfontes\xretag\winadm4.prg
c:\xfontes\xretag\winadm5.prg
c:\xfontes\xretag\winadm5b.prg
c:\xfontes\xretag\winadm5c.prg
c:\xfontes\xretag\winadm5d.prg
c:\xfontes\xretag\winadm5p.prg
c:\xfontes\xretag\winadm6.prg
c:\xfontes\xretag\winadm7.prg
c:\xfontes\xretag\winadm8.prg
c:\xfontes\xretag\winadm9.prg
c:\xfontes\xretag\winadm10.prg
c:\xfontes\xretag\winadm11.prg

c:\xfontes\xres\geral.res
c:\xfontes\xres\cadastro.res
c:\xfontes\xres\digital.res
c:\xfontes\xres\conc.res
c:\xfontes\xres\nota.res
c:\xfontes\xres\fatu.res

# harbour libs
-lc:\tools\harbour\lib\hbrtl.lib
-lc:\tools\harbour\lib\hbvm.lib
-lc:\tools\harbour\lib\hblang.lib
-lc:\tools\harbour\lib\hbcpage.lib
-lc:\tools\harbour\lib\gtgui.lib
-lc:\tools\harbour\lib\hbwin.lib
-lc:\tools\harbour\lib\hbrdd.lib
-lc:\tools\harbour\lib\rddntx.lib
-lc:\tools\harbour\lib\rddcdx.lib
-lc:\tools\harbour\lib\rddfpt.lib
-lc:\tools\harbour\lib\hbsix.lib
-lc:\tools\harbour\lib\hbmacro.lib
-lc:\tools\harbour\lib\hbpp.lib
-lc:\tools\harbour\lib\hbcommon.lib
-lc:\tools\harbour\lib\hbpcre.lib
-lc:\tools\harbour\lib\hbct.lib
-lc:\tools\harbour\lib\hbxpp.lib
-lc:\tools\harbour\lib\xhb.lib

# rdd ads
-lc:\tools\harbour\lib\ace32.lib
-lc:\tools\harbour\lib\rddads.lib
-lc:\tools\harbour\lib\hbdebug.lib

# hbcomm
-lc:\tools\harbour\lib\hbcomm.lib

# lib zip
-lc:\tools\harbour\lib\minizip.lib
-lc:\tools\harbour\lib\hbmzip.lib
-lc:\tools\harbour\lib\hbzlib.lib
-lc:\tools\harbour\lib\hbziparc.lib
   #rem uncomment these two lines to use advantage rdd

# borland libs
-lc:\tools\bcc582\lib\cw32.lib
-lc:\tools\bcc582\lib\uuid.lib
-lc:\tools\bcc582\lib\import32.lib
-lc:\tools\bcc582\lib\ws2_32.lib
-lc:\tools\bcc582\lib\psdk\odbc32.lib
-lc:\tools\bcc582\lib\psdk\nddeapi.lib
-lc:\tools\bcc582\lib\psdk\iphlpapi.lib
-lc:\tools\bcc582\lib\psdk\msimg32.lib
-lc:\tools\bcc582\lib\psdk\rasapi32.lib

# fivewin libs
-lc:\tools\fwh\lib\fiveh.lib
-lc:\tools\fwh\lib\fivehc.lib

-ic:\tools\fwh\include
-ic:\tools\harbour\include
-ic:\tools\bcc582\include

-Lc:\tools\fwh\lib
-Lc:\tools\harbour\lib
-Lc:\tools\bcc582\lib
-Lc:\tools\bcc582\psdk


# Executar apos a compilação
-run

-hb20
-xhb
-info

-prgflag=-a  -v -n -w0 -p -DVERSAO_DIG -DBCC
#-cflag=-tWM -a8 -5 -6 -fp -c -OS -O2 -DHARBOUR_USE_WIN_GTAPI -DHB_COMPAT_C53 -DHB_GUI -DHB_API_MACROS -DHB_STACK_MACROS -DHB_FM_STATISTICS_OFF


Re: AJUDA HBMK2

Enviado: 03 Mar 2011 10:52
por vailton
Luiz, não vejo erros. Há algo no .PPO que possa ajudar? (Compile com /P e veja)

Re: AJUDA HBMK2

Enviado: 07 Mar 2011 09:37
por luiz53
VAILTON...
EU FIQUEI UNS DIAS FORA...

o .ppo
esta assim
parece que nao converteu




DLL32 FUNCTION GetVerExA( @lpVersionInformation As LPSTR ) As LONG PASCAL From "GetVersionExA" Lib "KERNEL32.DLL"
Static Function psz( c ) ; Return SubStr( c, 1, At( Chr(0), c ) - 1 )
Static Function Remove0( c ) ; Return StrTran( c, Chr(0), " " )

Re: AJUDA HBMK2

Enviado: 09 Mar 2011 15:51
por vailton
Este exemplo também dava problemas. Deduzi que poderia ser a ordem de procura dos .CH e apos alterado, tudo funcionou adequadamente. Veja o código inicial:

Código: Selecionar todos

// arquivo testlfn2.prg da pasta SAMPLES do FWH.

#include "..\include\dll.ch"    && Faço a inclusão e aponto direto para o arquivo correto.
#include "FiveWin.ch"
#include "struct.ch"

//------------------------------------------------------------------------//

function Main()

   local cLongName := Space( 256 )
   local nNamePos  := 0
   local hFile

   lMkDir( "this is a long name directory" )

   LCreat( "this is a long filename file" )

   MsgInfo( GetFullPathName( "thisis~1", Len( cLongName ),;
                             @cLongName, @nNamePos ) )
   MsgInfo( cLongName )
   MsgInfo( nNamePos )   // this returns an invalid value

   MsgInfo( "LongName: " + GetLongFileName( "thisis~1" ) )

   hFile = FOpen( "tutor01.prg" )
   FCommit( hFile )
   FClose( hFile )

   MsgInfo( "ok" )

return nil

//------------------------------------------------------------------------//

function GetLongFileName( cShortName )

   local oWin32FindData

   STRUCT oWin32FindData
      MEMBER nFileAttributes  AS DWORD
      MEMBER nCreationTime    AS STRING LEN 8
      MEMBER nLastReadAccess  AS STRING LEN 8
      MEMBER nLastWriteAccess AS STRING LEN 8
      MEMBER nSizeHight       AS DWORD
      MEMBER nSizeLow         AS DWORD
      MEMBER nReserved0       AS DWORD
      MEMBER nReserved1       AS DWORD
      MEMBER cFileName        AS STRING LEN 260
      MEMBER cAltName         AS STRING LEN  14
   ENDSTRUCT

   FindFirstFile( cShortName, oWin32FindData:cBuffer )

return oWin32FindData:cFileName

//------------------------------------------------------------------------//

DLL32 Function GetFullPathName( lpszFile AS LPSTR, cchPath AS DWORD,;
               lpszPath AS LPSTR, @nFilePos AS PTR ) AS DWORD ;
               PASCAL FROM "GetFullPathNameA" LIB "kernel32.dll"

DLL32 FUNCTION FindFirstFile( cFile AS LPSTR, cWin32DataInfo AS LPSTR ) ;
               AS LONG PASCAL FROM "FindFirstFileA" LIB "kernel32.dll"

//------------------------------------------------------------------------//
Não consegui identificar exatamente o problema. Mas aqui para mim, resolvi deste modo. Se conseguir algo além disto, posto novamente.

Re: AJUDA HBMK2

Enviado: 09 Mar 2011 19:26
por luiz53
exatamente !!!
funcionou agora...
ufa... valew vailton

Re: AJUDA HBMK2

Enviado: 10 Mar 2011 08:20
por Itamar M. Lins Jr.
Observando, podemos constatar que não é um problema do hbmk2.
O erro era do prg que o harbour apontava, quem compila é o harbour não o hbmk2.

Saudações,
Itamar M. Lins Jr.