![]() |
AW: Code Optimierung zu ".. is <type>"
:thumb: Gut zu wissen.
MaxInt ist etwas über 2,1 Milliarden. Wenn man tatsächlich mal eine Anwendung schreibt die 200.000.000 unsichere Typ-Cast ausführt, spart das 6,2 Millisekunden Laufzeit. Wie viel Entwicklungszeit sich bei der Fehlersuche sparen lässt, wenn man statt dessen "as" verwendet, lässt sich leider nicht testen. :roll: |
AW: Code Optimierung zu ".. is <type>"
Ich hatte erwartet, dass nach Uwes Beitrag die Frage beantwortet ist. Denn nach der ersten if Component is TLabel macht eine weitere Prüfung per as doch keinen Sinn mehr.
Man könnte es aber auch so machen. Aber with sollte ja nicht mehr verwendet werden. Hier wird die Typenprüfung gemacht und für den Fall, dass dieser nicht passt die Exception abgefangen.
Delphi-Quellcode:
try
with (Component as TLabel) do if pos('||', Caption) = 0 then begin .... Caption := Caption + ' || ' + s; end; except end; Ohne with würde ich diese Variante verwenden.
Delphi-Quellcode:
Die Verwendung einer weiteren Variante ist so nicht notwendig.
if (Component is TLabel) then
begin if pos('||',TLabel(Component).Caption) = 0 then begin .... TLabel(Component).Caption := TLabel(Component).Caption + ' || ' + s; end; end; end |
AW: Code Optimierung zu ".. is <type>"
Ich bevorzuge diese Variante:
Delphi-Quellcode:
procedure TuAllesMögliche(Sender: TObject);
procedure TuWasMitLabel(ALabel: TLabel); begin if pos('||', ALabel.Caption) = 0 then begin .... ALabel.Caption := ALabel.Caption + ' || ' + s; end; end; begin if Sender is TLabel then TuWasMitLabel(TLabel(Sender)); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:58 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 by Thomas Breitkreuz