Einzelnen Beitrag anzeigen

Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.034 Beiträge
 
Delphi 12 Athens
 
#8

AW: Boolean.ToString geht nicht?!

  Alt 12. Mär 2024, 14:34
Hat da wer eine plausible Erklärung für dieses Verhalten und wieso man da unbedingt TUseBoolStrs.True nutzen muss?
Na ja, in einem Fall wird halt die class function aufgerufen, deren erster Parameter der umzuwandelnde Boolean ist. Der optionale zweite Parameter gibt dann die Darstellung an.

Bei der regulären function gibt es nur den optionalen Parameter für die Darstellung.

Problematisch ist hier die Kombination von Overloads und optionalen Parametern gepaart mit der Kollision des zu bearbeitenden Typs (Boolean) und dem erwarteten Parameter für die Darstellung (ebenfalls Boolean). Diese Kollision wurde mit dem neuen Typ TUseBoolStrs umgangen. Leider passt das nicht mehr zur Erwartungshaltung des Entwicklers.

Es gibt aber auch Meinungen, dass ein Aufruf einer class function nur über die Angabe des Typs und nicht einer Variablen des Typs gehen dürfte. Ich fürchte nur, dass eine solche Einschränkungen eine Menge Code nicht mehr compilieren ließe.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat