Error al compilar source de FiveWin 2.6

Error al compilar source de FiveWin 2.6

Postby JOHAN DONADO » Sat Nov 24, 2007 11:05 pm

Saludos a todos,

Estoy intentando compilar el source de FiveWin 2.6 a ver si logro que funcione con xHarbour 1.0.0, y me arroja este error:

Compiling 'dbm.prg'...
dbm.prg( 38 ) Error E0030 Syntax error: "syntax error at 'ODICT'"
dbm.prg( 51 ) Error E0030 Syntax error: "syntax error at 'AFIELDS'"

y en el archivo dmb.prg dice:

METHOD New( cAlias, cFile, cDriver, lShared, lReadOnly, aFields, aIndexes, oDict ) CLASS TDbm
local n

Super:New( cAlias, cFile, cDriver, lShared, lReadOnly )

BYNAME oDict // Linea 38 ERROR

if aFields != nil
for n = 1 to len( aFields )
::AddField( aFields[n] )
next
end
if aIndexes != nil
for n = 1 to len( aIndexes )
::AddIndex( aIndexes[n] )
next
end

BYNAME aFields, aIndexes // Linea 51 ERROR

oDict:AddDb( Self )

::WriteFields()

Return Self


Qué pasa ??

Gracias
JOHAN DONADO
 
Posts: 4
Joined: Fri Nov 23, 2007 11:57 pm

Postby Antonio Linares » Sun Nov 25, 2007 8:50 am

Añade esto a FiveWin.ch:
Code: Select all  Expand view
#xtranslate BYNAME <V> [, <VN> ]     => ::<V> := <V> [; ::<VN> := <VN> ]
#xtranslate BYNAME <V> DEFAULT <Val> => ::<V> := BYDEFAULT <V>, <Val>
#xtranslate BYNAME <V> IFNONIL       => ;
                            if <V> != NIL ;;
                                ::<V> := <V> ;;
                            end

ó no incluyas dbm.prg, ya que no se usa :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Re: Error al compilar source de FiveWin 2.6

Postby JOHAN DONADO » Sun Nov 25, 2007 3:33 pm

Bueno, muchas gracias, eso me resolvió el problema, pero cada vez salen más problemas.

Ahora me arroja esto:

dbms.prg( 29 ) Warning W0027 Meaningless use of expression: ':'
dbms.prg( 29 ) Warning W0027 Meaningless use of expression: ':'
dbms.prg( 30 ) Warning W0027 Meaningless use of expression: ':'
dbms.prg( 30 ) Warning W0027 Meaningless use of expression: ':'
dbms.prg( 38 ) Error E0030 Syntax error: "syntax error at 'CFILE'"

estas son las líneas de dbms.prg

CLASS TDbms

DATA cFile AS CHARACTER
DATA aDb, aField, aIndex AS ARRAY

METHOD New( cName ) CONSTRUCTOR

METHOD Redefine( cFile ) INLINE ::New( cFile ), ::Read(), Self

METHOD Update( oSelf )

METHOD AddField( cName, cTipo, nLen, nDec )
METHOD AddIndex( cName, cKey, bKey, cFor, bFor, lUnique )
METHOD AddDb( oDbm )

METHOD ReadFields()
METHOD ReadIndexs() VIRTUAL
METHOD ReadDb()

METHOD WriteFields()
METHOD WriteIndexs() VIRTUAL
METHOD WriteDb()

// LINEA 29
METHOD Create() INLINE ::WriteFields, ::WriteIndex, ::WriteDb

// LINEA 30
METHOD Read() INLINE ::ReadFields, ::ReadIndex, ::ReadDb

ENDCLASS

METHOD New( cFile ) CLASS TDbms

BYNAME cFile DEFAULT "DBMS" // LINEA 38

::aDb := {}
::aField := {}
::aIndex := {}

return nil

Qué pasa ahora ??

Gracias
JOHAN DONADO
 
Posts: 4
Joined: Fri Nov 23, 2007 11:57 pm

Postby Antonio Linares » Sun Nov 25, 2007 8:01 pm

Los warnings los puedes ignorar, y esto debería solucionar el problema de la línea 38:

#xtranslate BYDEFAULT <V>, <Val> => if( <V> == NIL, <Val>, <V> )
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby JOHAN DONADO » Sun Nov 25, 2007 8:10 pm

Antonio Linares wrote:Los warnings los puedes ignorar, y esto debería solucionar el problema de la línea 38:

#xtranslate BYDEFAULT <V>, <Val> => if( <V> == NIL, <Val>, <V> )


Ya eso lo había colocado siguiendo las instrucciones que me diste en una respuesta previa, pero continúa con el error
JOHAN DONADO
 
Posts: 4
Joined: Fri Nov 23, 2007 11:57 pm

Postby Antonio Linares » Sun Nov 25, 2007 8:14 pm

Cambia la línea 38 por estas:

DEFAULT cFile := "DBMS"

::cFile = cFile
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain

Postby JOHAN DONADO » Sun Nov 25, 2007 10:38 pm

Asi sigue saliendo error, pero le quité la cláusula DEFAULT y lo dejé asi:

BYNAME cFile //DEFAULT cFile:="DBMS"
::cFile := cFile

Así funcionó.

Pero ahora me da este error:

ddeserv.prg(11) Error F0028 Can't open #include file: 'DdeFV.ch'

No entiendo por qué me da este tipo de errores cuando se supone que en el include deben estar todos los archivos .ch

Antonio Linares wrote:Cambia la línea 38 por estas:

DEFAULT cFile := "DBMS"

::cFile = cFile
JOHAN DONADO
 
Posts: 4
Joined: Fri Nov 23, 2007 11:57 pm

Postby Antonio Linares » Sun Nov 25, 2007 10:58 pm

Johan,

No todos los PRGs que hay en source/classes se usan al construir FWH.

Algunos son contribuciones ó ejemplos de algunos usuarios, pero no estan incluidos en las librerías
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
 
Posts: 41366
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 29 guests