ein klein wenig zum Prinzip:
du benötigst ein Objekt, welches deine Daten hält. Wir nennen die Klasse mal
TSettings
. Und die Instanz der Klasse
Settings
.
Diese Klasse und deren Instanz registrierst du bei der Script Engine des Reports. Dafür brauchst du eine solche Klasse:
Delphi-Quellcode:
TSettingsFRFunctions = class(TfsRTTIModule)
public
constructor Create(AScript: TfsScript); override;
end;
Delphi-Quellcode:
constructor TSettingsFRFunctions.Create(AScript: TfsScript);
begin
inherited;
with AScript do
begin
AddClass(TSettings, 'TObject');
AddConst('Settings', 'TSettings', Integer(Settings));
end;
end;
Diese Klasse
TSettings
braucht natürlich Eigenschaften. Die Properties, die du im Fastreport sehen/nutzen möchtest müssen unbedingt
published
sein.
Falls deine Klasse
TSettings
Eigenschaften enthält, die nicht published sind, musst du sie dem Script händisch mitteilen:
Delphi-Quellcode:
with AScript do
begin
with AddClass(TSettings, 'TObject') do
AddProperty('Database', 'TpFIBDatabase', GetProp, nil);
end;
Wenn dein Objekt Methoden benötigt, die du aus dem Report aufrufen musst:
Delphi-Quellcode:
with AScript do
begin
with AddClass(TSettings, 'TObject') do
AddMethod('function Items : TStrings', OnCallMethod);
end;
In OnCallMethod musst du natürlich definieren, was beim Methodenaufruf passiert.
Jetzt solltest du im Report mit deinem Objekt arbeiten können.
mehr dazu hier:
http://logeas.socius-informatique.fr...rManual-en.pdf
Gruss
Marco