AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Programm stürzt bei "end;" ab

Ein Thema von Synollus · begonnen am 30. Mär 2009 · letzter Beitrag vom 3. Apr 2009
Antwort Antwort
Seite 2 von 2     12   
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Programm stürzt bei "end;" ab

  Alt 31. Mär 2009, 08:50
Zitat von Synollus:
Jup. Wenn ich F9 drücke und 1,2 eingebe und auf die 2 klicke, kommt genau derselbe Fehler. :wall:
Ich meinte schon shift+F9 (build,erzeugen), dann werden auch die Units neu erstellt.
Vielleicht schlummert da ja das Problem.

Viel Spass beim Wandertag.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#12

Re: Programm stürzt bei "end;" ab

  Alt 31. Mär 2009, 08:54
warum der abstürzt?

also erstmal hättest du gleich von Anfang an sagen können, wie man den Fehler produziert, wenn es nicht von alleine geschieht.

und dann wäre es schön gewesen, wenn du auch sagst wo der Fehler auftritt.
(wir können ja nicht bei Jedem hier im Forum auf die Suche gehn, nur weil nichts beschrieben ist ... wir haben doch nicht unendlich Zeit)


du löschst alle Labels
Delphi-Quellcode:
procedure TfrmMain.Refresh;
  ...
  For J := 1 to NrLabels do
    TLabel(FindComponent('Knot' + IntToStr(J))).Free;
und dann ist es doch kein Wunder, wenn er abstürzt, sobald er zu dem Label zurück will, von wo aus der Aufruf gestartet wurde.
Delphi-Quellcode:
procedure TfrmMain.LabelClick(Sender: TObject);
begin
  Refresh;
end; <<<<<<< der Absturz
wenn ich dir jedesmal das Haus unter den Füßen wegzieh, sobald du ein anderes Zimmer betrittst, dann stürzt du auch ab ... da isses egal, ob ich das Haus gleich wieder neu Aufbaue ... wobei hier das Haus (also das Label) sogar noch an einer anderen Stelle (wo anders im Speicher) neu aufgebaut wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Programm stürzt bei "end;" ab

  Alt 31. Mär 2009, 09:04
@himitsu
.. die Labels werden aber in der draw Routine wieder erstellt.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#14

Re: Programm stürzt bei "end;" ab

  Alt 31. Mär 2009, 09:22
ja klar, aber er ist im OnClick einer der Labels und zieht sich das Label unterm Arsch weg ...
da ist es egal ob die dann wieder neue Labels erstellt werden ... das Label, welches in der Ausführung war, ist weg
und es wurde stattdessen nur ein neues/anderes Label erstellt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Synollus

Registriert seit: 29. Dez 2008
49 Beiträge
 
#15

Re: Programm stürzt bei "end;" ab

  Alt 3. Apr 2009, 12:04
Danke himitsu. Ich war zu blöd, dass zu checken.

Ich sitze jetzt schon daran den Fehler zu beheben, aber mir fällt keine Möglichkeit ein beim Click Code auszuführen und vorher die aktuelle Methode zu verlassen.

Momentan habe ich die Aktualisierung des Baumes in einem Extra-Button, den ich per Hand anklicken muss, aber das soll ja nicht der Sinn sein. Dann bräuchte ich auch keine Labels. Es soll schließlich anwenderfreundlich sein.

Gibt es eine Möglichkeit das zu umgehen? Spontan fällt mir nur ein, das in einen deaktivierten Timer zu schreiben und ihm am Ende des Oncliks einzuschalten, der sich dann wieder selber nach Ausführung des Codes abschaltet. Ich bin mir aber nicht sicher, ob er da nicht danach doch wieder in die OnClick-Prozedur zurück will. Und außerdem ist diese Lösung nicht schön.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.033 Beiträge
 
Delphi 12 Athens
 
#16

Re: Programm stürzt bei "end;" ab

  Alt 3. Apr 2009, 12:12
nja, zumindestens das aktualisieren, könntest du über Messages lösen.

du sendest im OnClick der Labels z.B. eine selbsterstellte Windows-Nachricht an das Propgrammfenster ... und wenn diese empfangen wird, aktualisierst du die Liste.

wenn nicht explizit innerhalb der Click-Prozedur z.B. Application.ProcessMessages ausgeführt wird, dann wird die Botschaft erst nach Ende der ClickProzedur ausgeführt.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#17

Re: Programm stürzt bei "end;" ab

  Alt 3. Apr 2009, 13:41
Hallo,

was mir am Programm aufgefallen ist.
Das 1 , 2 hinzufügen.

Fenster kleinmachen, wieder grossmachen -> Linie ist weg.

Das Problem:
Du musst das Malen im OnPaint machen

Zum "Anstossen" des OnPaint rufst Invalidate auf.

Und wird es kompliziert,
da du ja immer alle Labels löscht und wieder anlegst.


Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:04 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz