Page 1 of 1
Error al compilar source de FiveWin 2.6
Posted:
Sat Nov 24, 2007 11:05 pm
by JOHAN DONADO
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
Posted:
Sun Nov 25, 2007 8:50 am
by Antonio Linares
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
Re: Error al compilar source de FiveWin 2.6
Posted:
Sun Nov 25, 2007 3:33 pm
by JOHAN DONADO
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
Posted:
Sun Nov 25, 2007 8:01 pm
by Antonio Linares
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> )
Posted:
Sun Nov 25, 2007 8:10 pm
by JOHAN DONADO
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
Posted:
Sun Nov 25, 2007 8:14 pm
by Antonio Linares
Cambia la línea 38 por estas:
DEFAULT cFile := "DBMS"
::cFile = cFile
Posted:
Sun Nov 25, 2007 10:38 pm
by JOHAN DONADO
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
Posted:
Sun Nov 25, 2007 10:58 pm
by Antonio Linares
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