Amigos del foro, estoy haciendo unas compilaciones con harbour, de unos prg para armar un exe. El tema es que en uno de mis prg tengo llamada una funcion que se llama __CLASSINS que me dice que no la encuentra, y la realidad es que no la encuentra porque no la tengo definida en ningun lado, ni lib, ni ch, ni nada.
Lo que quiero es saber si alguien tiene la definicion de esta funcion les pidi por favor que me la envien, porque en esa funcion reside que mi exe funcione correctamente.
Muchas gracias
Matias Camelli
funcion __CLASSINS (??????)
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Antonio, hice lo que me sugeriste, y cambio el error en la siguiente linea con la siguiente pinta:
... en la linea donde reemplazo __CLASSINS() por la que me pasaste __CLSINST()
ERROR:
Objects.ch(34) E0001 Statement not allowed outside of procedureor function
Aca esta el codigo que tiene el Objects.ch de clipper que modifique con la sentencia que vos me pasaste.
#xcommand DEFAULT <uVar1> = <uDefaultValue1> ;
[, <uVarN> = <uDefaultValueN> ] => ;
<uVar1> = If( <uVar1> == nil, <uDefaultValue1>, <uVar1> ) ;;
[ <uVarN> = If( <uVarN> == nil, <uDefaultValueN>, <uVarN> );]
#xcommand CLASS <cClassName> [ FROM <cSuperNam1>] [ ,<cSuperNamN> ] => ;
function <cClassName>() ;;
static nClassHandle, abParents ;;
if nClassHandle == nil ;;
ClsNew( <"cClassName"> , ;
abParents := { [ { || <cSuperNam1>() } ] ;
[,{ || <cSuperNamN>() } ] } ) ;;
[#define PARENT <"cSuperNam1">]
#xcommand DATA <cVar> READONLY => ClsAddData( Upper( <"cVar"> ), 1 )
#xcommand DATA <cVar1> [,<cVarN>] => ;
ClsAddData( <"cVar1">, 0 ) ;
[; ClsAddData( <"cVarN">, 0 ) ]
#xcommand METHOD <cMethodName>( [<uParms,...>] ) => ;
ClsAddMethod( Upper( <"cMethodName"> ), ;
{ | Self [, <uParms> ] | <cMethodName>( Self [, <uParms> ] ) } )
#xcommand METHOD <cMethodName>( [<parms,...>] ) VIRTUAL => ;
ClsAddMethod( Upper( <"cMethodName"> ), { || nil } )
#xcommand ENDCLASS => ;
nClassHandle = nClsMake() ;;
end ;;
// return __ClassIns( nClassHandle )
return __ClsInst( nClassHandle )
#xtranslate :: => Self:
#xtranslate METHOD <cClassName>::<cMethodName>( [<uParms,...>] ) => ;
static function <cMethodName>( Self[, <uParms>] )
#xtranslate ::Parent:<method>([<uParms,...>]) => ;
Eval( bClsMethod( Upper( PARENT ), Upper( <"method"> ) ), ;
Self [,<uParms>] )
... en la linea donde reemplazo __CLASSINS() por la que me pasaste __CLSINST()
ERROR:
Objects.ch(34) E0001 Statement not allowed outside of procedureor function
Aca esta el codigo que tiene el Objects.ch de clipper que modifique con la sentencia que vos me pasaste.
#xcommand DEFAULT <uVar1> = <uDefaultValue1> ;
[, <uVarN> = <uDefaultValueN> ] => ;
<uVar1> = If( <uVar1> == nil, <uDefaultValue1>, <uVar1> ) ;;
[ <uVarN> = If( <uVarN> == nil, <uDefaultValueN>, <uVarN> );]
#xcommand CLASS <cClassName> [ FROM <cSuperNam1>] [ ,<cSuperNamN> ] => ;
function <cClassName>() ;;
static nClassHandle, abParents ;;
if nClassHandle == nil ;;
ClsNew( <"cClassName"> , ;
abParents := { [ { || <cSuperNam1>() } ] ;
[,{ || <cSuperNamN>() } ] } ) ;;
[#define PARENT <"cSuperNam1">]
#xcommand DATA <cVar> READONLY => ClsAddData( Upper( <"cVar"> ), 1 )
#xcommand DATA <cVar1> [,<cVarN>] => ;
ClsAddData( <"cVar1">, 0 ) ;
[; ClsAddData( <"cVarN">, 0 ) ]
#xcommand METHOD <cMethodName>( [<uParms,...>] ) => ;
ClsAddMethod( Upper( <"cMethodName"> ), ;
{ | Self [, <uParms> ] | <cMethodName>( Self [, <uParms> ] ) } )
#xcommand METHOD <cMethodName>( [<parms,...>] ) VIRTUAL => ;
ClsAddMethod( Upper( <"cMethodName"> ), { || nil } )
#xcommand ENDCLASS => ;
nClassHandle = nClsMake() ;;
end ;;
// return __ClassIns( nClassHandle )
return __ClsInst( nClassHandle )
#xtranslate :: => Self:
#xtranslate METHOD <cClassName>::<cMethodName>( [<uParms,...>] ) => ;
static function <cMethodName>( Self[, <uParms>] )
#xtranslate ::Parent:<method>([<uParms,...>]) => ;
Eval( bClsMethod( Upper( PARENT ), Upper( <"method"> ) ), ;
Self [,<uParms>] )
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
Matias,
Clipper es un compilador de 16 bits y FiveWin para Harbour es un producto de 32 bits. No puedes usar Clipper para construir una aplicación para Harbour.
Asi mismo, no puedes usar Harbour (32 bits) con las librerías de FiveWin para Clipper (que son de 16 bits).
Necesitas usar Harbour y FWH (FiveWin para Harbour). FWH es un producto comercial que puedes comprar en www.fivetechsoft.com
Clipper es un compilador de 16 bits y FiveWin para Harbour es un producto de 32 bits. No puedes usar Clipper para construir una aplicación para Harbour.
Asi mismo, no puedes usar Harbour (32 bits) con las librerías de FiveWin para Clipper (que son de 16 bits).
Necesitas usar Harbour y FWH (FiveWin para Harbour). FWH es un producto comercial que puedes comprar en www.fivetechsoft.com