Hola,
1.- Los scripts deben ser compilados a .hrb o pueden ser solo .prg ?
Pueden ser de las dos clases2.- Si quiero proteger estos .prg como puedo encriptarlos ? Algun ejemplo ?
Si, usando .hrb3.- A nivel de scripts, la sintaxis es la misma que un .prg tradicional, es decir, sin restriccion del tipo de variable (local, estatica, etc), uso de funciones o procedures, etc ?
Si, sin restricciones4.- Existe documentacion donde pueda ver la sintaxis de Harbour para el manejo de scripts (Ejecucion, revision de sintaxis, etc ) ?
Busque informacion sobre la funcion hb_CompileFromBuffer() y hb_HrbDo() / hb_HrbLoad()
Un buen ejemplo es esta función de Apache.prg desde HFW, que permite archivos .hrb y .prg:https://github.com/FiveTechSoft/mod_har ... apache.prg- Code: Select all Expand view
function _AppMain()
local cFileName
ErrorBlock( { | o | DoBreak( o ) } )
cFileName = AP_FileName()
AddPPRules()
if File( cFileName )
if Lower( Right( cFileName, 4 ) ) == ".hrb"
hb_HrbDo( hb_HrbLoad( cFileName ), AP_Args() )
else
hb_SetEnv( "PRGPATH",;
SubStr( cFileName, 1, RAt( "/", cFileName ) + RAt( "\", cFileName ) - 1 ) )
Execute( MemoRead( cFileName ), AP_Args() )
endif
else
ErrorLevel( 404 )
endif
return nil
//----------------------------------------------------------------//
function Execute( cCode, ... )
local oHrb, uRet, lReplaced := .T.
local cHBheaders1 := "~/harbour/include"
local cHBheaders2 := "c:\harbour\include"
while lReplaced
lReplaced = ReplaceBlocks( @cCode, "{%", "%}" )
cCode = __pp_process( hPP, cCode )
end
oHrb = HB_CompileFromBuf( cCode, .T., "-n", "-I" + cHBheaders1, "-I" + cHBheaders2,;
"-I" + hb_GetEnv( "HB_INCLUDE" ), hb_GetEnv( "HB_USER_PRGFLAGS" ) )
if ! Empty( oHrb )
uRet = hb_HrbDo( hb_HrbLoad( oHrb ), ... )
endif
return uRet
5.- Finalmente, se puede ejecutar el script desde una base de datos ?
Esta no la entiendo o lo que si entiendo la respuesta es no.Saludos