Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Visible-Status von TShape in Timer-Callback Funktion ändern

  Alt 22. Aug 2022, 18:10
Zitat:
TShape(aSender).Visible
(aSender as TShape).Visible

Und dann überleg dir, warum es nun den "richtigen" Fehler gibt, bzw. warum er dort auftritt.




Warum die Variable fEnabled, anstatt direkt das Enabled des Timers durchzureichen?
Außerdem läuft der Timmer sinnlos auch dann, wenn nichts gemacht wird.

Und Sleep ... NEIN.
Da fehlt zwischendurch das Repaint und außerdem hängt dabei die Anwendung.
Lösung: Timer mit halbem Interval und dann Visible := not Visible;



PS: [DELPHI] ... [/DELPHI]



Statt die Komponente ständig sichtbar/unsichtbar zu machen, würde ich eher empfehlen z.B. eine TPaintBox zu nehmen und nur deine Komponente im Interval neu zu zeichnen,
anstatt die halbe Form (mindestens den Parent) zu zwingen sich neu zu zeichnen, wenn deine Komponente unsichtbar wird.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (22. Aug 2022 um 18:21 Uhr)
  Mit Zitat antworten Zitat