![]() |
Assert: <>NIL-Prüfung mit Bool var.
Hallo #,
besser habe ich den Ttel nicht hinbekommen ;) Folgendes Problem. Ich habe eine Methode mit zwei Parameter
Delphi-Quellcode:
ist bUseProjectFilter=True, muss theProjectFilter<>NIL sein.
procedure Test(const bUseProjectFilter: Boolean;
theProjectFilter: TList); zur Zeit schreibe ich das so
Delphi-Quellcode:
was mich dabi stört, das das if.
if bUseProjectFilter then
begin Assert(theProjectFilter<>NIL); end; ein Assert((bUseProjectFilter) and (theProjectFilter<>NIL)); klappt natürlich nicht. Wie kann man das Assert vereinfachen ? Ich weiss, dass der Debugger den Code eh rauswirft, wenn ohne Asserts compiliert wird (leeres if), aber es geht mir ums Prinzip. Heiko |
Re: Assert: <>NIL-Prüfung mit Bool var.
du solltest schon wissen was "and", "or", "xor", "not" etc. machen. Wenn wir dir jetzt die Lösung posten bist du am Ende auch nicht viel Schlauer. Du musst wissen was du wissen willst. Und wenn du mit "oder" testen willst musst du "or" verwenden. Wenn du mit "und" testen willst wäre "and" das richtige.
|
Re: Assert: <>NIL-Prüfung mit Bool var.
Zitat:
|
Re: Assert: <>NIL-Prüfung mit Bool var.
So sieht die korrekte Assert-Anweisung in deinem Fall aus:
Delphi-Quellcode:
Die Compileranweisung "Complete Boolean Eval" darf nicht gesetzt sein.
Assert(bUseProjectFilter and Assigned(theProjectFilter));
[edit]Das stimmt so natürlich nicht; bitte ignorieren[/edit] |
Re: Assert: <>NIL-Prüfung mit Bool var.
Ich würd' sagen
Delphi-Quellcode:
Assert((not bUseProjectFilter) or (theProjectFilter <> nil));
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 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