Dubioser Fehler beim Druckversuch...
spacer
Autor Nachricht
thommy f
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 108

Windows 2K pro
Delphi 5 Enterprise
BeitragVerfasst: Mo 21.11.11 13:16 
Mal wieder ich. Delphi überrascht mich immer wieder.

Ich habe in einem Programm eine Quickreport, der im Endeffekt nur aus einem QRLabel und einem QRMemo besteht.

Diesen möchte ich an zwei Stellen des Programms mit Daten füttern und jeweils ausdrucken.

Folgendes läuft problemlos:

ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
procedure TF_Haupt.BBTN_KW_druckenClick(Sender: TObject);
begin

//Formular erzeugen
if F_Druck_Termine = nil then F_Druck_Termine := TF_Druck_Termine.Create(Application);
F_Druck_Termine.QRL_Headline.Caption := 'TERMINE ' + ' KW: ' + inttostr(Kalenderwoche(Now)) + ', ' + FormatDateTime('yyyy',now);
F_Druck_Termine.QRM_Termine.Lines := F_Haupt.M_Termine.Lines;
F_Druck_Termine.QR_Termine.print;

//Formular deaktivieren
if F_Druck_Termine <> nil then
begin
F_Druck_Termine.Release;
F_Druck_Termine := nil;
end;
end;



Wenn ich nun das Selbe aus einer Anderen Stelle des Programms mache (Ich weise übrigens dem QRMemo lediglich den Inhalt eines anderen MemoObjekts zu wie ersichtlich sein dürfte)


ausblenden Delphi-Quelltext markieren
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
procedure TF_Historie.BBTN_druckenClick(Sender: TObject);
var
s_Zeile, Historie_Name : String;
begin
//Formular erzeugen
if F_Druck_Termine = nil then F_Druck_Termine := TF_Druck_Termine.Create(Application);
Historie_Name := F_Haupt.Programmpfad + '\History\' + DM_Hufbeschlag.T_PferdeName.Value + DM_Hufbeschlag.T_PferdeDienstleistungshistorie.Value;
F_Historie.M_Historie.Lines.SaveToFile(Historie_Name);
F_Druck_Termine.QRL_Headline.Caption := 'Dienstleistungshistorie für: ' + DM_Hufbeschlag.T_PferdeName.Value + ' - Datum: ' + FormatDateTime('dd.mm.yyyy',now);
F_Druck_Termine.QRM_Termine.Lines.Clear;
F_Druck_Termine.QRM_Termine.Lines := F_Historie.M_Historie.Lines;
F_Druck_Termine.QR_Termine.print;
//Formular deaktivieren
if F_Druck_Termine <> nil then
begin
F_Druck_Termine.Release;
F_Druck_Termine := nil;
end;
end;


Dann kommt eine Fehlermeldung:
List Index out of bounds (3)
Woher denn dieses bitte?

(Ja, ich benutze eine englische Version von Delphi)

DANKE für eure Hilfe. Ich steh auf dem Schauch!

_________________
Der Mensch wächst mit seinen Aufgaben *** Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.


Werbung ausblenden? Dann registriere Dich kostenlos. Weitere Gründe für eine Registrierung.
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1062
Erhaltene Danke: 8

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Mo 21.11.11 13:38 
hallo thommy f,

Ich kenne mich mit Quickreport zwar nicht aus, habe aber trotzdem einige Fragen, die eventuell helfen:
a) gibt F_Druck_Termine.Release wirklich alles frei?
b) wird die Zeile TF_Druck_Termine.Create(Application); in beiden Fällen aufgerufen?
c) ist bei zweiten Versuch etwas in F_Historie.M_Historie.Lines drin? bzw ist etwas in F_Historie.M_Historie.Lines gespeichert?
d) Wie arbeitet F_Druck_Termine.QR_Termine.print?

Ich tippe darauf das F_Druck_Termine.QR_Termine.print versucht auf eine Zeile zuzugreifen die nicht existiert.

Beste Grüße,
Tilo
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
thommy f Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 108

Windows 2K pro
Delphi 5 Enterprise
BeitragVerfasst: Mo 21.11.11 13:46 
Doch, in M_Historie (Ein MemoFeld) Stehen Mehrere Zeilen drin.

Mit dem Create(Application) Aktiviere ich jeweils das Formular um es nicht ständig "geladen" zu haben. Die Formulare sind im Projekt available und nicht auto created.

Das sollte eigentlich klappen. Wie gesagt, ich mache eigentlich beide Male das gleiche. Einmal geht's einwandfrei, und einmal nicht...???

_________________
Der Mensch wächst mit seinen Aufgaben *** Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
thommy f Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 108

Windows 2K pro
Delphi 5 Enterprise
BeitragVerfasst: Mo 21.11.11 14:58 
Keine Ahnung, woran es gelegen hat. Habe das Problem jetzt mit einer weiteren QR-Komponente gelöst, die GENAU IDENTISCH ist. Mit der geht's komischerweise jetzt.

DANKE trotzdem!

_________________
Der Mensch wächst mit seinen Aufgaben *** Wer kämpft kann verlieren, wer nicht kämpft hat schon verloren
 
Antworten mit Zitat Beitrag melden
Private Nachricht sendenPosting in privater Nachricht zitieren
home home