Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Verständnisfrage Assigned vs nil (https://www.delphipraxis.net/202710-verstaendnisfrage-assigned-vs-nil.html)

Delbor 30. Nov 2019 12:20

Delphi-Version: 10.3 Rio

Verständnisfrage Assigned vs nil
 
Hi zusammen
Was ist der Unterschied zwischen einer Abfrage eines Objektes auf Nil bzw. assigned?
Delphi-Quellcode:
  if Assigned(FSQLiteFolderList) then
  if FSQLiteFolderList = nil then
Assigned mag zwar eleganter klingen, aber das ist wohl kaum dessen Sinn.

Gruss
Delbor

DieDolly 30. Nov 2019 12:25

AW: Verständnisfrage Assigned vs nil
 
Ich glaube wenn man mit
Delphi-Quellcode:
.Free
etwas freigibt, ist
Delphi-Quellcode:
Assigned()
False und
Delphi-Quellcode:
= nil
auch False.
Deswegen setze ich manuell immer alles auf nil wenn ich etwas mit Free freigebe.

Nagel mich nicht drauf fest. Bin mir unsicher.

Klaus01 30. Nov 2019 12:46

AW: Verständnisfrage Assigned vs nil
 
..laut diesem hier
ist not assigned() mit nil gleichwertig.

Grüße
Klaus

scrat1979 30. Nov 2019 12:54

AW: Verständnisfrage Assigned vs nil
 
Zitat:

Zitat von DieDolly (Beitrag 1452498)
Ich glaube wenn man mit
Delphi-Quellcode:
.Free
etwas freigibt, ist
Delphi-Quellcode:
Assigned()
False und
Delphi-Quellcode:
= nil
auch False.
Deswegen setze ich manuell immer alles auf nil wenn ich etwas mit Free freigebe.

Nagel mich nicht drauf fest. Bin mir unsicher.

Ich denke nil müsste dann true sein, oder?

DieDolly 30. Nov 2019 12:55

AW: Verständnisfrage Assigned vs nil
 
Zitat:

Zitat von scrat1979 (Beitrag 1452502)
Ich denke nil müsste dann true sein, oder?

True False False True True... eins davon. Logische Verknüpfungen waren noch nie mein Ding.

Delbor 30. Nov 2019 13:10

AW: Verständnisfrage Assigned vs nil
 
Hi zusammen

Danke für eure Antworten. Offenbar habe ich asssigned etwas überschätzt.

Gruss
Delbor

DieDolly 30. Nov 2019 13:11

AW: Verständnisfrage Assigned vs nil
 
Wenn du deine Variable nach Free immer manuell auch auf nil setzt ist alles gut.

Delbor 30. Nov 2019 13:29

AW: Verständnisfrage Assigned vs nil
 
Hi Dolly
Zitat:

Zitat von DieDolly (Beitrag 1452505)
Wenn du deine Variable nach Free immer manuell auch auf nil setzt ist alles gut.

Da müsste man FreeAndNil verwenden...

Gruss
Delbor

Dalai 30. Nov 2019 13:54

AW: Verständnisfrage Assigned vs nil
 
Folgende Abfragen sind gleichwertig:
Delphi-Quellcode:
if Assigned(Objekt) then
if Objekt <> nil then
Erstere Variante ist IMO etwas einfacher zu lesen, wenn man gerade in einem Editor ohne Syntaxhervorhebung unterwegs ist, in dem auch noch die Schrift etwas klein ist und man so Schwierigkeiten hat, schmale Zeichen sauber zu erkennen. Aber grundsätzlich soll jeder das verwenden, was er/sie mag.

Grüße
Dalai

Uwe Raabe 30. Nov 2019 14:28

AW: Verständnisfrage Assigned vs nil
 
Bei Abfragen von Objekten sind die Abfragen auf nil und auf Assigned gleichwertig. Anders sieht es z.B. bei Events aus. Man kann eine Event-Variable (so wie jeden Methodenzeiger) nicht auf nil abfragen. Dafür ist dann Assigned gedacht.
Delphi-Quellcode:
procedure TCustomForm.Paint;
begin
  if Assigned(FOnPaint) then FOnPaint(Self);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:27 Uhr.
Seite 1 von 4  1 23     Letzte »    

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