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)
a.ilic
Posts: 37
Joined: Fri Sep 27, 2013 1:13 am

GetHbArrayVar ()

Postby a.ilic » Sat May 24, 2014 12:16 am

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
User avatar
ignacio
Site Admin
Posts: 8691
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

GetHbArrayVar ()

Postby ignacio » Mon May 26, 2014 10:29 am

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]
http://www.xailer.com
a.ilic
Posts: 37
Joined: Fri Sep 27, 2013 1:13 am

GetHbArrayVar ()

Postby a.ilic » Wed May 28, 2014 10:36 pm

ignacio wrote on Mon, 26 May 2014 10:29
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

Thank you for the answer. I've used Google translate to understand it
Regards,
Aleksandar Ili?
Software developer
Wings Software
http://www.wings.rs
User avatar
ignacio
Site Admin
Posts: 8691
Joined: Mon Apr 06, 2015 8:00 pm
Location: Madrid, Spain
Contact:

GetHbArrayVar ()

Postby ignacio » Thu May 29, 2014 12:03 pm

a.ilic escribió el mié, 28 mayo 2014 22:36
Thank 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]
http://www.xailer.com

Return to “FastReport”