Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Auf Inhalt zur Laufzeit erzeugter Komponenten zugreifen (https://www.delphipraxis.net/26620-auf-inhalt-zur-laufzeit-erzeugter-komponenten-zugreifen.html)

himitsu 29. Mär 2011 15:45

AW: Auf Inhalt zur Laufzeit erzeugter Komponenten zugreifen
 
Zitat:

Zitat von DeddyH (Beitrag 1091693)
Zitat:

Zitat von WM_CLOSE (Beitrag 1091691)
es ist laut Delphi Hilfe effizienter.

Wo hast Du das gelesen?

WITH legt eine lokale Variable an, welche als eine Art SELF und somit als aktueller Namespace fungiert.

Wenn an WITH nur eine einfache, lokale Variable übergibt, dann wird wirklich da nichts optimiert.
Übergibt man an WITH aber ein Funktionsresult oder einige Property, dann wird da natürlich so Einiges optimiert, da das Konstruct innerhalb des WITH-DO nur einmal ausgewertet wird.

Patito 30. Mär 2011 08:04

AW: Auf Inhalt zur Laufzeit erzeugter Komponenten zugreifen
 
Zitat:

Zitat von himitsu (Beitrag 1091765)
Zitat:

Zitat von DeddyH (Beitrag 1091693)
Zitat:

Zitat von WM_CLOSE (Beitrag 1091691)
es ist laut Delphi Hilfe effizienter.

Wo hast Du das gelesen?

WITH legt eine lokale Variable an, welche als eine Art SELF und somit als aktueller Namespace fungiert.

Wenn an WITH nur eine einfache, lokale Variable übergibt, dann wird wirklich da nichts optimiert.
Übergibt man an WITH aber ein Funktionsresult oder einige Property, dann wird da natürlich so Einiges optimiert, da das Konstruct innerhalb des WITH-DO nur einmal ausgewertet wird.

In solchen Fällen legt man Funktionsresult oder Property üblicherweise selbst in einer lokalen Variablen ab.
Technisch gibt es eventuell einen theoretischen Vorteil für das With (Stack vs Register für die lokale Variable!?).

Sobald man aber mal die Ineffizienz berücksichtigt, die dadurch entsteht, dass der With-Code schwerer zu maintainen ist, gibt es praktisch keine Rechtfertigung mehr auch nur ein einziges With zu verwenden.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:18 Uhr.
Seite 2 von 2     12   

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