Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Bei Form1.print kommt stack overflow (https://www.delphipraxis.net/173881-bei-form1-print-kommt-stack-overflow.html)

Natcree 22. Mär 2013 07:02

Bei Form1.print kommt stack overflow
 
Liste der Anhänge anzeigen (Anzahl: 1)
Wenn ich meine Form1 über form1.print ausdrucken will kommt einen Fehlermeldung und programm schmiert ab. Ein Stack Overflow Siehe Bild. ich hoffe es kann mir jemand Helfen ???

Hier der Code dazu.....

Delphi-Quellcode:
procedure TForm1.FensterDrucken1Click(Sender: TObject);
begin
printer.Orientation:=poLandscape;
Form1.Print;
end;

DeddyH 22. Mär 2013 07:37

AW: Bei Form1.print kommt stack overflow
 
Außer dem unnötigen (und ggf. gefährlichen) "Form1." fällt mir in den 2 Zeilen nichts auf. Welche Events hast Du denn alle mit Code belegt, es scheint sich um einen Seiteneffekt zu handeln, so dass sich verschiedene Ereignisse gegenseitig auslösen.

Natcree 22. Mär 2013 08:11

AW: Bei Form1.print kommt stack overflow
 
6 Weitere Forms

DeddyH 22. Mär 2013 08:15

AW: Bei Form1.print kommt stack overflow
 
Danach hatte ich zwar nicht gefragt, aber setz doch mal einen Haltepunkt in die "Print"-Zeile (und lass das "Form1." weg). Wenn das Programm an der Stelle stoppt, steppst Du mit F7 durch. Kommt es dann zu irgendwelchen Wiederholungen?

Natcree 22. Mär 2013 08:19

AW: Bei Form1.print kommt stack overflow
 
Woran erkenne ich wiederholungen

Natcree 22. Mär 2013 08:21

AW: Bei Form1.print kommt stack overflow
 
Liste der Anhänge anzeigen (Anzahl: 1)
Meinst du das hier auf dem Bild

DeddyH 22. Mär 2013 08:23

AW: Bei Form1.print kommt stack overflow
 
Ich meinte damit, dass Du an eine Stelle kommst, an der Du schon einmal warst. Mal ein Beispiel:
Delphi-Quellcode:
procedure TSomeForm.FormPaint(Sender: TObject);
begin
  Canvas.Brush.Color := clRed;
  Canvas.FillRect(ClientRect);
  Repaint;
end;
Hier wird im OnPaint ein Repaint aufgerufen, was ein OnPaint auslöst, in dem Repaint aufgerufen wird, was ein OnPaint auslöst....

Ich vermute, etwas Ähnliches hast Du auch fabriziert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:34 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