Falls Du den FastReport von ausserhalb (also vom Delphi-Code aus) steuern willst, kannst Du
FindObject benutzen.
Ich verwende es so (bei FastReport 4):
Delphi-Quellcode:
for i := 0 to FrxStandardReport.PagesCount - 1 do
begin
if FrxStandardReport.Pages[i].Name = 'Page1' then
begin
if FrxStandardReport.Pages[i].FindObject('IB_Database') <> nil then
begin
TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Connected := False;
TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Clear;
TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['Path'] := Engine.DataBasePath;
TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['USER NAME'] := Engine.DataBaseUser;
TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['Password'] := Engine.DataBasePassword;
TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['PROTOCOL'] := DBProtocol; // IBProtocolNames [Engine.DatabaseProtocol];
TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Params.Values['SERVER'] := Engine.DataBaseServer;
TfrxIB_Database(FrxStandardReport.Pages[i].FindObject('IB_Database')).Connected := True;
end
else
begin
MessageDlg('Datenbank-Komponente "IB_Database" nicht gefunden', mtError, [mbOK], 0);
end;
end;
end;
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.