Ich würde aus der Anwendung eine neue Funktion im FastReport registrieren, an die du die nötigen Parameter übergibst.
Dann kann die Anwendung den 2. Report öffnen.
Das könnte in etwa so funktionieren:
Delphi-Quellcode:
uses fs_iinterpreter;
...
type
TFunctions = class(TfsRTTIModule)
private
function CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; var Params: Variant): Variant;
public
constructor Create(AScript: TfsScript); override;
end;
function TFunctions.CallMethod(Instance: TObject; ClassType: TClass;
const MethodName: String; var Params: Variant): Variant;
begin
if SameText(MethodName, 'ExecReport') then
//führ den 2. Report aus
end;
constructor TFunctions.Create(AScript: TfsScript);
begin
inherited Create(AScript);
with AScript do
begin
AddMethod('procedure ExecReport(AFilename : String)', CallMethod);
end;
end;
initialization
fsRTTIModules.Add(TFunctions);
finalization
if fsRTTIModules <> nil then
begin
fsRTTIModules.Remove(TFunctions);
end;