![]() |
Quickreport erzeugt Zugriffsverletzung beim Aufruf
moin,
wo fang ich an... also ich habe ein programm... das läuft nicht Ich habe die HauptForm und die QRForm. In der Hauptform stelle ich berechnungen an.. lese über edit felder was ein. In dieser Hauptform ist in der mainmenuleiste ein eintrag Vorschau. Wenn ich die schaltflächedrücke will ich eine Ansicht bekommen, wo alle ergebnisse aufgeführt sind. Ich möchte das über einen QR machen. Habe das auch schon an einem Beispiel ausgetestet und das funzt 1a. Dann kam mein Prog..Ich führe das mal kurz auf: und der haupt1.form steht
Delphi-Quellcode:
das sollte mir jetzt den Quickreport aufrufen.
procedure thaupt1.vorschau1click (sender : Tobject);
begin quickreport.quickrep1.preview; end Macht es aba net... Könnt ihr mir helfen wie ich auf eine lösung kommen kann?? Er zeigt mir nämlich die fehlermeldung an: Im Projekt Projekt1.exe ist eine exception der Klasse EAccessviolation aufgetreten. Meldung: 'zugriffsverletzung be adresse 004e99f3 in modul 'projekt1.exe'. lesen von Adresse 000002do'. prozess wurde angehalten. wenn ich dann wieder den start kopf drücke steht diese Meldung da: zugriffsverletzuung bei adresse 004e99f3 in modul Projekt1.exe. lesen von adresse 000002d0. habe alle in der quickreportunit auftretenden variablen schon ausgeklammert{...} aber der fehler tritt weiterhin auf kann ich im Quickreport in einer gruppenkopfzeile das ereignis before print aktivieren und dann schreiben:
Delphi-Quellcode:
procedure tquickreport.qrband2beforeprint...
begin qrlabel14:= ti; end wie geschrieben würde ich den wert den ich berechnet habe jetzt grne in der hauptform sehen hoffe auf eure hilfe... LG Andres [edit=MrSpock]Titel geändert. Mfg, MrSpock[/edit] |
Re: wieder ein qr problem...
Liste der Anhänge anzeigen (Anzahl: 1)
Moin,
hier ist ein Beispiel. Schau es dir mal an, vielleicht hilft es dir... MfG Thorsten |
Re: wieder ein qr problem...
[OT]Irgendwie nehmen die nichtssagenden ThreadTitel immer mehr zu. QR hat mir überhaupt nichts gesagt, und selbst wenn man weis das es Quick Report heißt weiß man nicht im entferntesten um was es in dem Thread noch geht. Ich denk Probleme hat hier so ziemlich jeder wenn er was postet (außer in OpenSource und Freeware). Für Leute die später die Suche bemühen und ein Problem mit QuickReport haben bekommen die Krise weil in jedem Titel nur Quickreport vorkommt und die leute somit alle Threads erst lesen müssen weil aus dem Titel nicht ersichtlich ist um was es genau bei deinem Quickreport-Problem geht. Sinnvoller wäre da wohl: "AccessViolation beim Aufruf von Quickreport" Somit weiß man wenigstens schon im entferntesten welches Problem du mit Quickreport hast.
Ein weiteres Beispiel ist der Thead mit dem Thema "Listboxen". Da könnte man auch gleich den Betreff "Delphi-Komponente" nehmen oder nur "Komponente" [/OT] |
Re: wieder ein qr problem...
@ omata kannst du mal bitte in deine Nachrichten gucken? habe dir was geschrieben.
@ sir thornberry ich gelobe besserung ;) |
Re: wieder ein qr problem...
Zitat:
|
Re: wieder ein qr problem...
Hallo mr.floppy81,
grundsätzlich kannst du einem Label in der beforePrint Methode einen Text zuweisen, aber wo ist ti definiert und wie wird der Wert von ti festgelegt? Werden alle Daten im Report über QRText Felder erzeugt und wie werden die gefüllt? Benutzt du auch datensensitive QuickReport Komponenten? Gibt es noch andere Zeilen im Quickreport Code, die nicht auskommentiert sind? Und heißt das Formular, in dem der Report steht wirklich Quickreport? |
DP-Maintenance
Dieses Thema wurde von "MrSpock" von "Object-Pascal / Delphi-Language" nach "VCL-Komponenten und Controls" verschoben.
Der Fehler betrifft die QuickReport Komponente und ist kein allgemeines ObjectPascal oder Sprachen Problem. |
Re: Quickreport erzeugt Zugriffsverletzung beim Aufruf
@ sharky...
:duck: wusste gar net das man den titel nachträglich ändern kann... |
Re: Quickreport erzeugt Zugriffsverletzung beim Aufruf
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:
ist die Fehlermeldung weg.
procedure Thaupt1.Drucken1Click(Sender: TObject);
begin quickreport := Tquickreport.Create(Self); quickreport.Quickrep1.Preview; end; 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:
Das musst du machen, da du keine datensensitiven Elemente nutzt.
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; |
Re: Quickreport erzeugt Zugriffsverletzung beim Aufruf
Hurra,
es geht *freu* :thumb: . Vielsten Dank all den freundlichen Helfern. ;) LG Andreas PS: eine Frage habe ich noch, wieso definierst du die variable Zeilen? das ist mir nicht so ganz klar? inc erhöht die Variable Zeilen, aba warum wird "Zeilen" definiert??? |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:46 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz