In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.

Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.

GetHbArrayVar ()

FastReport for Xailer & [x]Harbour (English/Spanish)
Responder
a.ilic
Mensajes: 37
Registrado: Vie Sep 27, 2013 1:13 am

GetHbArrayVar ()

Mensaje por a.ilic »

Hi,
I'm having problem with GetHbArrayVar function.
It works ok, if in Harbour we have a variable defined like this:

PRIVATE aFormat := { 'PDF', 'PNG', 'JPG' }
and in FR:

var
cFormat: String;
procedure DoSomething();
begin
cFormat := GetHbArrayVar('aFormat', 1);
ShowMessage(cFormat); // shows PDF
end
But not, if we have an array of arrays:

PRIVATE aFormat := {}
AAdd(aFormat, {"PDF", "PDF format"})
AAdd(aFormat, {"JPG", "JPG format"})
and in FR:

var
aFormat: array of Variant;
procedure DoSomething();
begin
aFormat := GetHbArrayVar('aFormat', 1);
ShowMessage(VarToStr(aFormat[1])); // shows empty string and FR crashes
end
Any help appreciated.
Regards,
Aleksandar Ili?
Software developer
Wings Software
http://www.wings.rs
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

GetHbArrayVar ()

Mensaje por ignacio »

Buenos dí­as,
A FastReport sólo se pueden pasar tipo básicos y entiende muy poco de matrices creadas por Harbour. Le recomiendo que utilice en dicho caso la función EvalMacro(). En su caso serí­a:
EvalMacro('aFormat[x,y]')
Es posible que tenga que definir aFormat como pública.
Un saludo
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
a.ilic
Mensajes: 37
Registrado: Vie Sep 27, 2013 1:13 am

GetHbArrayVar ()

Mensaje por a.ilic »

ignacio wrote on Mon, 26 May 2014 10:29Buenos dí­as,
A FastReport sólo se pueden pasar tipo básicos y entiende muy poco de matrices creadas por Harbour. Le recomiendo que utilice en dicho caso la función EvalMacro(). En su caso serí­a:
EvalMacro('aFormat[x,y]')
Es posible que tenga que definir aFormat como pública.
Un saludo
Thank you for the answer. I've used Google translate to understand it
Regards,
Aleksandar Ili?
Software developer
Wings Software
http://www.wings.rs
Avatar de Usuario
ignacio
Site Admin
Mensajes: 9246
Registrado: Lun Abr 06, 2015 8:00 pm
Ubicación: Madrid, Spain
Contactar:

GetHbArrayVar ()

Mensaje por ignacio »

a.ilic escribió el mié, 28 mayo 2014 22:36Thank you for the answer. I've used Google translate to understand it
Regards,
Sorry for that.
Regards,
Ignacio Ortiz de Zúñiga
[Equipo de Xailer / Xailer team]
https://www.xailer.com
Responder