Einzelnen Beitrag anzeigen

Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Quickreport erzeugt Zugriffsverletzung beim Aufruf

  Alt 7. Jan 2005, 23:42
Hallo mr.floppy81,

ich hab den Fehler gefunden. Du hast die Unit Quickreport1 im Projekt nicht automatisch erzeugt, sondern nur als verfügbares Formular eingerichtet. Das Objekt Quickreport existiert also noch gar nicht, wenn du Preview aufrufst. Daher kommt auch die Fehlermeldung.

Wenn du es so machst:

Delphi-Quellcode:
procedure Thaupt1.Drucken1Click(Sender: TObject);
begin
 quickreport := Tquickreport.Create(Self);
 quickreport.Quickrep1.Preview;

end;
ist die Fehlermeldung weg.

Das du dann aber nicht siehst, wenn du Drucken wählst, liegt daran, dass du kein Detailband hast. Du musst ein Detailband und die Methode OnNeedData so überschreiben, dass mindestens einmal MoreData True ist.

Beispiel: Füge ein Label in das Detailband und weise der OnNeedData Methode folgenden Code zu:

Delphi-Quellcode:
procedure Tquickreport.QuickRep1NeedData(Sender: TObject;
  var MoreData: Boolean);
begin
   Inc(Zeilen);
   QRLabel1.Caption := 'Hallo';
   MoreData := (Zeilen < 2);
end;

procedure Tquickreport.QuickRep1BeforePrint(Sender: TCustomQuickRep;
  var PrintReport: Boolean);
begin
   Zeilen := 0;
end;
Das musst du machen, da du keine datensensitiven Elemente nutzt.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat