Ich kenne keine moderne Programmiersprache wo es üblich wäre, Vergleiche mit booleschen Werten zu machen.
In C# gibt es eine ziemlich große Fraktion, die meint, das
if (!Foo)
schlecht lesbar wäre, das das '!' leicht verschluckt wiürde. Sie bevorzugen
if (Foo == false)
. Und weil es immer 'Puristen' gibt, die B sagen, wenn jemand A ruft, schreiben die dann
if (Foo == true)
...Die einzige in allen Sprachen konstante Weisheit ist: false = 0...
Wenn man für alle Fälle und immer sicher sein will, prüft man stets nur auf false...Ein einfaches Weglassen von =true oder =false hat bei mir bisher aber auch in Fällen der Zusammenarbeit mit C und APIs immer zum richtigen Ergebnis geführt. Entweder Glück, oder Delphi tut da relativ sinnvolle Dinge im Hintergrund. Oder ich habe bisher keine allzu bösartigen DLLs in der Hand gehabt.
Du bestätigst also eigentlich durch deine eigenen Erfahrungen die Aussagen der meisten hier.
Delphi tut hier gar nichts, außer eben, nur 0 als 'FALSE' zu behandeln. Wie pervers ein Vergleich auf 'True' oder 'False' mit anderen Werten als 0/1 ist (z.B. obskure Rückgabewerte einer
DLL-Funktion) zeigt meine Aufstellung. Die besagt ja genau das, was du durch Erfahrung herausbekommen hast: Nie auf =true, =false prüfen.