Hola
De primeras perdón por la parrafada que voy a poner, pero no veo otra forma de explicar correctamente lo que ocurre.
Tengo un proyecto realizado en FWH pre-release con las pantallas en un .RES y funciona correctamente. Compilado y enlazado con BCC 5.5 e ilink32
Ahora lo tengo que pasar a la última versión de FWH y harbour.
De primeras me he encontrado con la estructura de subdirectorios de harbour cambiada (también nombres de .libs) pero eso, en principio, no es problema.
He recompuesto los fichero .rmk y linkh.bat para compilar y montar el proyecto con los nuevos path de las librerías tanto de harbour (3.0) como de FWH.
A la hora de compilar no salta ningún problema y parece que a la hora de enlazar (ilink32) tampoco.
Uso la clase TWBrowse y para ello añado la librería TWBRW32.lib.
Al generar el ejecutable con lo nuevo de FWH y harbour 3.0 el compilador se quejaba y me ponía: Error E0030 Syntax error "syntax error at 'FUNCTION'"
No entiendo porqué, pero para evitar eso traspasé el fichero .RES con las pantallas a un .RC y este a .DLL de 32 bits con rd2dll32.
He vuelto a generar el ejecutable quitando la lo de DLL32 FUNCTION ..... para que no me de el error anterior y me crea el ejecutable sin errores.
Pero aquí vienen los problemas. Son:
- Al iniciar la aplicación me salta el debugger y se coloca donde declaro las variables locales en la función main(). No tengo ni idea de porqué hace eso.
- Si salgo del debugger sigue con la aplicación pero cuando intento abrir un diálogo, el que sea, me salta el error de que no lo puede abrir. Un ejemplo de ello sería esto:
Application
===========
Path and name: C:\Factu1H\factuges.exe (32 bits)
Size: 4,955,648 bytes
Compiler version: Harbour 3.2.0dev (r1307082134)
FiveWin Version: FWH 13.12
Windows version: 5.1, Build 2600 Service Pack 3
Time from start: 0 hours 0 mins 8 secs
Error occurred at: 02-04-2014, 18:15:04
Error description: Error FiveWin/3 Cannot create Dialog Box:
Resource: TABLAGENERALORDEN
Stack Calls
===========
Called from: .\source\classes\DIALOG.PRG => CREATEDLGERROR( 539 )
Called from: .\source\classes\DIALOG.PRG => TDIALOG:ACTIVATE( 277 )
Called from: TARTICUL.PRG => TARTICULO( 144 )
Called from: FACTUGES.PRG => (b)BUILDOUTBAR( 784 )
Called from: .\source\classes\OUTLOOK.PRG => (b)TOUTLOOK_ADDITEM( 193 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:CLICK( 476 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONUP( 667 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:LBUTTONDOWN( 607 )
Called from: .\source\classes\CONTROL.PRG => TCONTROL:HANDLEEVENT( 1720 )
Called from: .\source\classes\BTNBMP.PRG => TBTNBMP:HANDLEEVENT( 1470 )
Called from: .\source\classes\WINDOW.PRG => _FWH( 3236 )
Called from: => WINRUN( 0 )
Called from: .\source\classes\WINDOW.PRG => TMDIFRAME:ACTIVATE( 1003 )
Called from: FACTUGES.PRG => MAIN( 156 )
Sinceramente he intentado buscar información por todas partes para ver cual sería el problema y la solución , pero no encuentro nada.
Como digo en la versión que tenía (la pre-release de fwh) me funcionaba correctamente todo pero con lo nuevo no, y no sé a que se debe.
Paso el contenido de mis ficheros de compilación y link para que los veáis a ver si es que tengo algo mal:
---> Fichero llamado co.bat que tiene esto para compilar con un fichero compila.rmk y enlazar con un fichero linkh.bat:
c:\clipper5\bin\rmake /XS5000 compila
linkh.bat
---> Fichero de compilado compila.rmk:
// Compilador y Enlazador de la Aplicacion : CMC PARA HARBOUR
// Autor : RRG
// c:\bcc55\bin\brc32 -r CMC.rc
// Fecha :
// OBJ = .\obj
// "$(OBJ)"
makepath[.obj] := ".\OBJ"
.prg.obj:
C:\harbour\BIN\harbour $< /b /n /p /iC:\HARBOUR\INCLUDE;C:\FWH\INCLUDE /o.\obj\ > comp.log
c:\borland\bcc55\bin\bcc32 -M -c -IC:\HARBOUR\INCLUDE;C:\FWH\INCLUDE -tW -o.\obj\$*.obj .\obj\$*.c
FactuGes.obj: FactuGes.prg
MGeneral.obj: MGeneral.prg
klofunc.obj: klofunc.prg
kfiltro.obj: kfiltro.prg
tempresa.obj: tempresa.prg
fempresa.obj: fempresa.prg
tcliente.obj: tcliente.prg
fcliente.obj: fcliente.prg
toperari.obj: toperari.prg
foperari.obj: foperari.prg
thtrab.obj: thtrab.prg
tbanco.obj: tbanco.prg
fbanco.obj: fbanco.prg
tbcuenta.obj: tbcuenta.prg
fbcuenta.obj: fbcuenta.prg
tdiario.obj: tdiario.prg
Fdiario.obj: Fdiario.prg
fcontra.obj: fcontra.prg
talbaran.obj: talbaran.prg
tcontra.obj: tcontra.prg
falbaran.obj: falbaran.prg
tfactura.obj: tfactura.prg
ffactura.obj: ffactura.prg
trcontro.obj: trcontro.prg
frcontro.obj: frcontro.prg
tprovee.obj: tprovee.prg
fprovee.obj: fprovee.prg
talbap.obj: talbap.prg
falbap.obj: falbap.prg
tarticul.obj: tarticul.prg
farticul.obj: farticul.prg
tpresupu.obj: tpresupu.prg
fpresupu.obj: fpresupu.prg
tfactup.obj: tfactup.prg
ffactup.obj: ffactup.prg
fimpuest.obj: fimpuest.prg
finforme.obj: finforme.prg
tmoinf.obj: tmoinf.prg
fnuevoin.obj: fnuevoin.prg
asistein.obj: asistein.prg
ttitulo.obj: ttitulo.prg
ftitulo.obj: ftitulo.prg
tcabece.obj: tcabece.prg
fcabece.obj: fcabece.prg
tpie.obj: tpie.prg
fpie.obj: fpie.prg
tresume.obj: tresume.prg
fresume.obj: fresume.prg
tcuerpo.obj: tcuerpo.prg
fcuerpo.obj: fcuerpo.prg
timpres.obj: timpres.prg
historia.obj: historia.prg
fhistori.obj: fhistori.prg
tpfactu.obj: tpfactu.prg
rclipob.obj: rclipob.prg
rcli.obj: rcli.prg
facalba.obj: facalba.prg
facalbap.obj: facalbap.prg
facfact.obj: facfact.prg
fdesglo.obj: fdesglo.prg
tfpago.obj: tfpago.prg
ffpago.obj: ffpago.prg
fvence.obj: fvence.prg
tvence.obj: tvence.prg
tcfactu.obj: tcfactu.prg
tpvence.obj: tpvence.prg
fpvence.obj: fpvence.prg
tprecio.obj: tprecio.prg
fcbarras.obj: fcbarras.prg
tmoeart.obj: tmoeart.prg
reorgani.obj: reorgani.prg
ccampos.obj: ccampos.prg
imporinf.obj: imporinf.prg
reestruc.obj: reestruc.prg
floinfor.obj: floinfor.prg
rartvent.obj: rartvent.prg
fcplus.obj: fcplus.prg
registro.obj: registro.prg
tcpsal.obj: tcpsal.prg
tcpent.obj: tcpent.prg
tagente.obj: tagente.prg
fagente.obj: fagente.prg
tafactu.obj: tafactu.prg
tmorecic.obj: tmorecic.prg
tlineas.obj: tlineas.prg
flineas.obj: flineas.prg
actuinf.obj: actuinf.prg
flcombo.obj: flcombo.prg
tenvase.obj: tenvase.prg
fenvase.obj: fenvase.prg
ttrdia.obj: ttrdia.prg
ftrdia.obj: ftrdia.prg
fltrdia.obj: fltrdia.prg
tfmchof.obj: tfmchof.prg
ffmchof.obj: ffmchof.prg
rartcli.obj: rartcli.prg
imporhwc.obj: imporhwc.prg
rvencli.obj: rvencli.prg
tpedido.obj: tpedido.prg
fpedido.obj: fpedido.prg
tpedidoc.obj: tpedidoc.prg
fpedidoc.obj: fpedidoc.prg
pcontrol.obj: pcontrol.prg
etiqueta.obj: etiqueta.prg
abredato.obj: abredato.prg
tetiart.obj: tetiart.prg
tpagop.obj: tpagop.prg
tpagopg.obj: tpagopg.prg
rresuimp.obj: rresuimp.prg
rartpro.obj: rartpro.prg
rartcomp.obj: rartcomp.prg
tfamilia.obj: tfamilia.prg
ffamilia.obj: ffamilia.prg
tdescu.obj: tdescu.prg
fdescu.obj: fdescu.prg
tdosprn.obj: tdosprn.prg
morecibo.obj: morecibo.prg
tpcarga.obj: tpcarga.prg
fpcarga.obj: fpcarga.prg
rgancli.obj: rgancli.prg
factiket.obj: factiket.prg
rcolumn.obj: rcolumn.prg
thcobro.obj: thcobro.prg
fhcobro.obj: fhcobro.prg
thpago.obj: thpago.prg
fhpago.obj: fhpago.prg
imporpda.obj: imporpda.prg
fimprec.obj: fimprec.prg
asistere.obj: asistere.prg
trecticl.obj: trecticl.prg
frecticl.obj: frecticl.prg
preciart.obj: preciart.prg
eliminar.obj: eliminar.prg
rrangven.obj: rrangven.prg
rclismov.obj: rclismov.prg
tclipget.obj: tclipget.prg
tget.obj: tget.prg
---> Fichero de enlazado linkh.bat:
set hdir=c:\harbour
set hdirl=%hdir%\lib\win\bcc
set bcdir=C:\Borland\BCC55
@echo c0w32.obj + > b32.bc
@echo .\Obj\factuges .\Obj\klofunc .\noautlog + >> b32.bc
@echo .\Obj\mgeneral .\Obj\kfiltro + >> b32.bc
@echo .\Obj\tempresa .\Obj\fempresa .\Obj\tcliente .\Obj\fcliente + >> b32.bc
@echo .\Obj\toperari .\Obj\foperari .\Obj\thtrab .\Obj\tbanco + >> b32.bc
@echo .\Obj\fbanco .\Obj\tbcuenta .\Obj\fbcuenta .\Obj\tdiario + >> b32.bc
@echo .\Obj\fdiario .\Obj\fcontra .\Obj\talbaran .\Obj\tcontra + >> b32.bc
@echo .\Obj\talbaran .\Obj\tcontra .\Obj\falbaran .\Obj\ffactura + >> b32.bc
@echo .\Obj\tfactura .\Obj\trcontro .\Obj\frcontro .\Obj\tprovee + >> b32.bc
@echo .\Obj\fprovee .\Obj\tarticul .\Obj\farticul .\Obj\tpresupu + >> b32.bc
@echo .\Obj\fpresupu .\Obj\talbap .\Obj\falbap .\Obj\tfactup + >> b32.bc
@echo .\Obj\ffactup .\Obj\fimpuest .\Obj\finforme .\Obj\tmoinf + >> b32.bc
@echo .\Obj\fnuevoin .\Obj\asistein .\Obj\ttitulo .\Obj\ftitulo + >> b32.bc
@echo .\Obj\tcabece .\Obj\fcabece .\Obj\tpie .\Obj\fpie + >> b32.bc
@echo .\Obj\tresume .\Obj\fresume .\Obj\tcuerpo .\Obj\fcuerpo + >> b32.bc
@echo .\Obj\timpres .\Obj\historia .\Obj\fhistori .\Obj\tpfactu + >> b32.bc
@echo .\Obj\rclipob .\Obj\rcli .\Obj\facalba .\Obj\facalbap + >> b32.bc
@echo .\Obj\facfact .\Obj\fdesglo .\Obj\kfiltro .\Obj\tfpago + >> b32.bc
@echo .\Obj\ffpago .\Obj\fvence .\Obj\tvence .\Obj\tcfactu + >> b32.bc
@echo .\Obj\tpvence .\Obj\fpvence .\Obj\tprecio .\Obj\fcbarras + >> b32.bc
@echo .\Obj\tmoeart .\Obj\reorgani .\Obj\ccampos .\Obj\imporinf + >> b32.bc
@echo .\Obj\reestruc .\Obj\floinfor .\Obj\rartvent .\Obj\fcplus + >> b32.bc
@echo .\Obj\registro .\Obj\tcpsal .\Obj\tcpent .\Obj\tagente + >> b32.bc
@echo .\Obj\fagente .\Obj\tafactu .\Obj\tmorecic .\Obj\tlineas + >> b32.bc
@echo .\Obj\flineas .\Obj\actuinf .\Obj\flcombo .\Obj\tenvase + >> b32.bc
@echo .\Obj\fenvase .\Obj\ttrdia .\Obj\ftrdia .\Obj\fltrdia + >> b32.bc
@echo .\Obj\tfmchof .\Obj\ffmchof .\Obj\rartcli .\Obj\imporhwc + >> b32.bc
@echo .\Obj\rvencli .\Obj\tpedido .\Obj\fpedido .\Obj\pcontrol + >> b32.bc
@echo .\Obj\etiqueta .\Obj\abredato .\Obj\tetiart .\Obj\tpagop + >> b32.bc
@echo .\Obj\tpagopg .\Obj\rresuimp .\Obj\rartpro .\Obj\rartcomp + >> b32.bc
@echo .\Obj\tfamilia .\Obj\ffamilia .\Obj\tdosprn .\Obj\tdescu + >> b32.bc
@echo .\Obj\tpedidoc .\Obj\fpedidoc .\Obj\morecibo .\Obj\tpcarga + >> b32.bc
@echo .\Obj\fpcarga .\Obj\rgancli .\Obj\factiket .\Obj\rcolumn + >> b32.bc
@echo .\Obj\thcobro .\Obj\fhcobro .\Obj\thpago .\Obj\fhpago + >> b32.bc
@echo .\Obj\fdescu .\Obj\imporpda .\Obj\fimprec .\Obj\rrangven + >> b32.bc
@echo .\Obj\rclismov + >> b32.bc
@echo .\Obj\asistere .\Obj\eliminar .\Obj\trecticl + >> b32.bc
@echo .\Obj\frecticl .\Obj\preciart + >> b32.bc
@echo .\Obj\tget .\Obj\tclipget, + >> b32.bc
@echo factuges.exe, + >> b32.bc
@echo factuges.map, + >> b32.bc
@echo c:\fwh\lib\FiveH.lib c:\fwh\lib\FiveHC.lib + >> b32.bc
@echo c:\fwh\lib\TWBRW32.lib + >> b32.bc
@echo %hdirl%\hbwin.lib + >> b32.bc
@echo %hdirl%\gtwin.lib + >> b32.bc
@echo %hdirl%\gtgui.lib + >> b32.bc
@echo %hdirl%\hbrtl.lib + >> b32.bc
@echo %hdirl%\hbvm.lib + >> b32.bc
@echo %hdirl%\hblang.lib + >> b32.bc
@echo %hdirl%\hbmacro.lib + >> b32.bc
@echo %hdirl%\hbrdd.lib + >> b32.bc
@echo %hdirl%\rddntx.lib + >> b32.bc
@echo %hdirl%\rddcdx.lib + >> b32.bc
@echo %hdirl%\rddfpt.lib + >> b32.bc
@echo %hdirl%\hbsix.lib + >> b32.bc
@echo %hdirl%\hbdebug.lib + >> b32.bc
@echo %hdirl%\hbcommon.lib + >> b32.bc
@echo %hdirl%\hbpp.lib + >> b32.bc
@echo %hdirl%\hbcpage.lib + >> b32.bc
@echo %hdirl%\hbcplr.lib + >> b32.bc
@echo %hdirl%\hbct.lib + >> b32.bc
@echo %hdirl%\hbpcre.lib + >> b32.bc
@echo %hdirl%\xhb.lib + >> b32.bc
@echo %hdirl%\hbziparc.lib + >> b32.bc
@echo %hdirl%\hbmzip.lib + >> b32.bc
@echo %hdirl%\hbzlib.lib + >> b32.bc
@echo %hdirl%\minizip.lib + >> b32.bc
@echo %hdirl%\png.lib + >> b32.bc
@echo %hdirl%\hbcurl.lib + >> b32.bc
@echo %hdirl%\hbusrrdd.lib + >> b32.bc
@echo %bcdir%\lib\cw32.lib + >> b32.bc
@echo %bcdir%\lib\uuid.lib + >> b32.bc
@echo %bcdir%\lib\import32.lib + >> b32.bc
@echo %bcdir%\lib\ws2_32.lib + >> b32.bc
@echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
@echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
@echo %bcdir%\lib\psdk\iphlpapi.lib + >> b32.bc
@echo %bcdir%\lib\psdk\msimg32.lib + >> b32.bc
@echo %bcdir%\lib\psdk\psapi.lib + >> b32.bc
@echo %bcdir%\lib\psdk\rasapi32.lib + >> b32.bc
@echo %bcdir%\lib\psdk\shell32.lib, >> b32.bc
c:\borland\bcc55\bin\ilink32 -Gn -aa -Tpe -s -v @b32.bc > linkh.log
Bueno, espero haberme explicado bien y no haber sido muy cansino.
Un saludo y gracias