domingo, noviembre 22, 2009

Harbour VS xHarbour, Las diferencias verdaderas (Parte 7)

Paso de variables objeto por referencia.

Ambos compiladores soportan el paso de variables objeto por referencia, pero esta funcionalidad en xHarbour está limitada a una instancia pura de un objeto o únicamente a variables de la clase y no funciona para métodos SETGET. En Harbour funciona correctamente. Este código ilustra el problema:
      proc main()
local oBrw := tbrowseNew()
? oBrw:autoLite
oBrw:autoLite := !oBrw:autoLite
?? "=>", oBrw:autoLite
p( @oBrw:autoLite )
?? "=>", oBrw:autoLite

proc p( x )
x := !x
Harbour imprime:
     .T.=> .F.=> .T.
pero xHarbour imprime:
      .T.=> .F.=> .F.
Sin generar ningún error de compilación o de tiempo de ejecución.

Continuará....

No hay comentarios.: