Einzelnen Beitrag anzeigen

sunfy

Registriert seit: 27. Apr 2004
22 Beiträge
 
#3

Re: Problem mit Exception bei MDI aufrufen über mehrere Ecke

  Alt 19. Aug 2005, 16:06
Hmm, deine Überlegung war dass überprüft wird, ob der Zeiger auf die FberichtVorschau auf Nil zeigt.
Wenn ja dann wird eine neue Instanz von FberichVorschau erzeugt.

Delphi-Quellcode:
procedure TQR_Report.QuickRepPreview(Sender: TObject);
begin
 if not Assigned(FBerichtVorschau) then
   FBerichtVorschau:= TFBerichtVorschau.create(Self);
 FBerichtVorschau.QRPreview.QRPrinter := (Sender as TQRPrinter);
end;
Problem ist nur, dass der Zeiger beim schließen von FberichtVorschau nicht auf nil zurückgesetzt wird.
In der DelphiHilfe findet man zu assigned den Hinweis:
"Assigned kann keine Zeiger erkennen, die zwar nicht nil sind, aber trotzdem nicht mehr auf gültige Daten verweisen."

Daher bekommt man eine Exception, wenn man "Datei->Neuer Report" ausführt diesen dann schließt und "Datei->Neuer Report" erneut ausführt.
Eine Idee, wie man das machen kann?

Außerdem möchte ich vielmehr überprüfen ob schon ein QR_Report (in einem FberichVorschau) geöffnet ist.
Wenn bsp. schon ein FberichtVorschau mit einem anderen QR_Report_2 geöffnet ist, soll wenn noch kein QR_Report vorhanden ist, ein neues FberichtVorschau mit dem QR_Report geöffnet werden können, ohne dass QR_Report_2 geschlossen wird.

Ne idee dazu?
  Mit Zitat antworten Zitat