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.