Necesito guardar un codeblock en una variable , pero en formato string.
bblock:= {|| msginfo("hola") }
usar una function algo asi como blcktostr(bblock ) que devuelva : ' {|| msginfo("hola") } '
existe alguna funcion ?
Saludos a todos.
hmpaquito wrote:Mastintin,
Creo que eso que buscas no existe... los codeblocks son codigo compilado... otra cosa es que el genial przemek haya inventado algo...
Un invento que quiza te podria ayudar; se trataria de crear un nuevo tipo K que en realidad es un array:
#Translate CBNew(<b>) => {<b>, <(b)>}
#Translate CBEval(<kCB>) => Eval(<kCB>\[1\])
#Translate CBString(<kCB>) => <kCB>\[2\]
Ejemplos
k:= CBNew({|| MsgInfo("probando...")})
? CBEval(k)
? CBString(k)
Espero te pueda servir.
hmpaquito wrote:Entiendo que si no quieres modificar las clases originales de fwh o bien no quieres utilizar un pseudo tipo, la cosa no tiene arreglo...
Para el caso que dices, yo lo que haria seria:
#Define CBBlock(<k>) <k>\[1\]
1º A la clase dialog, crearle una nueva data: bkPainted
2º En la definicion previa del dialogo ::bkPainted:= CBNew({|| MsgInfo("algo")})
3º En el Activate del dialog asignar ::bPainted:= CBBlock(::bkPainted)
4º En el cGenPrg cPrg += CRLF + ' oWnd:bpainted:= " '+ CBString(::bkPainted)+' " ' +CRLF
Saludos
Return to FiveWin para Harbour/xHarbour
Users browsing this forum: No registered users and 9 guests