Page 1 of 1

harbour.exe ha detectado un problema y debe cerrarse

Posted: Fri Feb 10, 2006 11:47 am
by fgondi
Hola foro,

Estoy compilando los archivos con FWH 2.7 y Harbour 55, que descargue (ambos) del ftp de fivetechsoft.

Al intentar compilar un prg aparece que "harbour.exe ha detectado un problema y debe cerrarse"

Me pasa un varios prg pero con los demás funciona perfectamente.

He probado incluso con buildh.bat que hay en el directorio samples y sigue haciendo lo mismo.

Alguien sabe cual puede ser el problema?

Gracias por vuestro tiempo

Posted: Fri Feb 10, 2006 12:02 pm
by fgondi
Hola foro,

Ya encontré el problema. Esta en la siguiente línea de código:

Code: Select all

if aScan(aFiltro, {|x| x[1]='Proveedor' .and. len(x)=5 .and. x[5]})<>0
si x[1] lo compruebo contra 'Proveedo' ya no da error y compila perfectamente:

Code: Select all

if aScan(aFiltro, {|x| x[1]='Proveedo' .and. len(x)=5 .and. x[5]})<>0
El error lo da con todos las cadenas superiores a 8 caracteres.

Con xHarbour no da ese error.

Posted: Fri Feb 10, 2006 1:18 pm
by Antonio Linares
Fernando,

Hay que buscar un ejemplo que sea lo más pequeño posible y que reproduzca el error. Este código funciona bien:

Code: Select all

function Main()

   local aFiltro := { { "uno" } , { "dos" } }

   if AScan( aFiltro, { | x | x[ 1 ] = "Es Proveedor" } ) != 0 
      MsgInfo( "ok" )
   endif
   
   MsgInfo( "done!" )
   
return nil      
Al dar el GPF, te muestra la pila de llamadas ? Cuales son ? gracias.

Posted: Fri Feb 10, 2006 1:58 pm
by fgondi
Hola Antonio,

Prueba este código. Me da error

Code: Select all

#include 'fivewin.ch'

function Main() 

   local aFiltro := { { "uno" } , { "dos" } } 

   if AScan( aFiltro, { | x | x[ 1 ] = "Proveedor" .and. len(x)=5 .and. x[5] } ) != 0 
      MsgInfo( "ok" ) 
   endif 
    
   MsgInfo( "done!" ) 
    
return nil

Posted: Fri Feb 10, 2006 4:41 pm
by karinha
#include 'fivewin.ch'

function Main()

local aFiltro := { { "uno" } , { "dos" } }

if AScan( aFiltro, { | x | x[ 1 ] = "Proveedor" .and. len(x)=5 .and. x[5] } ) != 1
MsgInfo( "ok" )
endif

MsgInfo( "done!" )

return nil

// Acá, mi funciono perfecto em FIVEWIN 2.7 Y [x]HARBOUR 0.99.60

Posted: Fri Feb 10, 2006 6:10 pm
by fgondi
Hola Karinha,

A mi me sigue sin funcionar.

Si quito el include funciona correctamente

Code: Select all

#include 'fivewin.ch'

Posted: Fri Feb 10, 2006 6:15 pm
by karinha
//-> Mira tu BUILDH.BAT si esta como este.


@ECHO OFF
CLS
ECHO ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
ECHO ³ FiveWin for xHarbour 2.7 - November 2005 xHarbour development power ³Ü
ECHO ³ (c) FiveTech, 1993-2005 for Microsoft Windows 95/98/NT/2000/ME and XP ³Û
ECHO ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙÛ
ECHO ÿ ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß

if A%1 == A GOTO :SINTAX
if NOT EXIST %1.prg GOTO :NOEXIST

ECHO Compiling...

set hdir=c:\xharbour
set bcdir=c:\borland\bcc55

%hdir%\bin\harbour %1 /n /i..\include;%hdir%\include /w /p %2 %3 > clip.log
@type clip.log
IF ERRORLEVEL 1 PAUSE
IF ERRORLEVEL 1 GOTO EXIT

echo -O2 -e%1.exe -I%hdir%\include %1.c > b32.bc
%bcdir%\bin\bcc32 -M -c -v @b32.bc
:ENDCOMPILE

IF EXIST %1.rc %bcdir%\bin\brc32 -r %1

echo c0w32.obj + > b32.bc
echo %1.obj, + >> b32.bc
echo %1.exe, + >> b32.bc
echo %1.map, + >> b32.bc
echo ..\lib\Fivehx.lib ..\lib\FiveHC.lib + >> b32.bc
echo %hdir%\lib\rtl.lib + >> b32.bc
echo %hdir%\lib\vm.lib + >> b32.bc
echo %hdir%\lib\gtwin.lib + >> b32.bc
echo %hdir%\lib\lang.lib + >> b32.bc
echo %hdir%\lib\macro.lib + >> b32.bc
echo %hdir%\lib\rdd.lib + >> b32.bc
echo %hdir%\lib\dbfntx.lib + >> b32.bc
echo %hdir%\lib\dbfcdx.lib + >> b32.bc
echo %hdir%\lib\dbffpt.lib + >> b32.bc
echo %hdir%\lib\hbsix.lib + >> b32.bc
echo %hdir%\lib\debug.lib + >> b32.bc
echo %hdir%\lib\common.lib + >> b32.bc
echo %hdir%\lib\pp.lib + >> b32.bc
echo %hdir%\lib\ct.lib + >> b32.bc
echo %hdir%\lib\hbct.lib + >> b32.bc
echo %hdir%\lib\hbcomm.lib + >> b32.bc

rem Uncomment these two lines to use Advantage RDD
echo %hdir%\lib\rddads.lib + >> b32.bc
echo %hdir%\lib\Ace32.lib + >> b32.bc

echo %bcdir%\lib\cw32.lib + >> b32.bc
echo %bcdir%\lib\import32.lib + >> b32.bc
echo %bcdir%\lib\psdk\odbc32.lib + >> b32.bc
echo %bcdir%\lib\psdk\rasapi32.lib + >> b32.bc
echo %bcdir%\lib\psdk\nddeapi.lib + >> b32.bc
echo %bcdir%\lib\psdk\iphlpapi.lib, >> b32.bc

IF EXIST %1.res echo %1.res >> b32.bc

rem uncomment this line to use the debugger and comment the following one
rem %bcdir%\bin\ilink32 -Gn -Tpe -s -v @b32.bc
%bcdir%\bin\ilink32 -Gn -aa -Tpe -s -v @b32.bc

rem delete temporary files
@del %1.c
@del %1.il?

IF ERRORLEVEL 1 GOTO LINKERROR
ECHO * Application successfully built
%1
GOTO EXIT
ECHO

:LINKERROR
rem if exist meminfo.txt notepad meminfo.txt
rem PAUSE * Linking errors *
GOTO EXIT

:SINTAX
ECHO SYNTAX: Build [Program] {-- No especifiques la extensi¢n PRG
ECHO {-- Don't specify .PRG extension
GOTO EXIT

:NOEXIST
ECHO The specified PRG %1 does not exist

:EXIT

Posted: Fri Feb 10, 2006 6:28 pm
by fgondi
Hola karinha,

Ese el build para xharbour. Con xharbour funciona perfectamente.

Es con harbour con lo que no funciona

Posted: Fri Feb 10, 2006 6:52 pm
by Antonio Linares
Fernando,

Confirmado. Curiosamente compila FWH entero sin problemas. Es en ese ejemplo en concreto.

Por lo visto es un error de harbour. Vamos a reportarlo a la lista de Harbour.

Posted: Sat Feb 11, 2006 5:43 pm
by Antonio Linares
Fernando,

Arreglado el error. Puedes descargar Harbour nuevamente desde:

www.fivetechsoft.com/files/harbour.exe
www.fivetechsoft.com/files/harbourm.exe

Posted: Mon Feb 13, 2006 5:34 pm
by fgondi
Antonio,

Ahora funciona perfectamente.

Muchas gracias.

Posted: Mon Feb 13, 2006 10:22 pm
by Antonio Linares
Fernando,

Gracias a ti por reportar el problema y así poder trabajar para solucionarlo :)