Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Verständnisfrage: Wieso funktioniert sowas? (https://www.delphipraxis.net/196526-verstaendnisfrage-wieso-funktioniert-sowas.html)

Delbor 28. Mai 2018 18:26

Delphi-Version: 10.2 Tokyo

Verständnisfrage: Wieso funktioniert sowas?
 
Hi zusammen

In einem Demoprogramm habe ich folgendes Konstrukt gefunden:
Delphi-Quellcode:
          with R do
            ExcludeClipRect(Handle, Left, Top, Right, Bottom);
            R.Empty
Der With-Block ist hier einzeilig, besitzt also kein eigenes end. Die letzte Zeile stammt von mir - ich wollte wissen, ob das Objekt 'R' auch eine Methode ExcludeClipRect hat.
Der einzige Member mit 'E' ist jedoch 'Empty'.
R ist ein TRect und somit ein Record.

Gruss
Delbor

Der schöne Günther 28. Mai 2018 18:32

AW: Verständnisfrage: Wieso funktioniert sowas?
 
Was hast du mit ExcludeClipRect und was soll das mit deinem
Delphi-Quellcode:
R
zu tun haben? Das ExcludeClipRect ist eine lose herumschlabbernde Methode aus der WinApi und ist kein Bestandteil des
Delphi-Quellcode:
TRect
. Das
Delphi-Quellcode:
with
hat hier wohl jemand benutzt um z.B. nur
Delphi-Quellcode:
Left
statt
Delphi-Quellcode:
R.Left
tippen zu müssen.

Zacherl 28. Mai 2018 18:32

AW: Verständnisfrage: Wieso funktioniert sowas?
 
Ne,
Delphi-Quellcode:
ExcludeClipRect
kommt von woanders her. Der
Delphi-Quellcode:
with
Block kümmert sich hier nur um das
Delphi-Quellcode:
Left, Top, Right, Bottom
.

Delbor 28. Mai 2018 19:20

AW: Verständnisfrage: Wieso funktioniert sowas?
 
Hi zusammen

Nachdem mir anfänglich die bei allen Parametern nur der Hint mit dem Hinweis auf das Handle angegzeigt wurde, bekam ich schliesslich die richtige Info, dass Left etc TRect-Werte sind und sich also auf R beziehen.

Ich verwende schon seit Jahren keine with- Konstrukte mehr, und so sind diese Dinger für mich eher schwer lesbar.

Gruss
Delbor

Zacherl 28. Mai 2018 19:22

AW: Verständnisfrage: Wieso funktioniert sowas?
 
Zitat:

Zitat von Delbor (Beitrag 1403240)
Ich verwende schon seit Jahren keine with- Konstrukte mehr, und so sind diese Dinger für mich eher schwer lesbar.

Jap, das ist genau der Grund, warum man diese Konstrukte lieber vermeiden sollte. Es fehlt oft einfach der Kontext, wo etwas herkommt. Und im Falle von 4-Mal
Delphi-Quellcode:
R.
auch mehr als unnötig das in einen
Delphi-Quellcode:
with
Block zu packen :stupid:


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