Einzelnen Beitrag anzeigen

Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.008 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#3

AW: Warum ist 'nil' einem TObject ähnlicher als einem IInterface?

  Alt 17. Jul 2014, 12:56
Aber steht das irgendwo geschrieben, dass es so ist? Oder gibt es vielleicht sogar einen Grund?
Unter Prozeduren und Funktionen überladen steht:

Zitat von DocWiki:
Wenn die Eindeutigkeit gewährleistet ist, ruft der Compiler in diesen Fällen die Routine auf, deren Parametertyp für den Wertebereich der tatsächlich übergebenen Parameter mindestens erforderlich ist.
Ok, bei ShortInt oder Integer ist das relativ klar, wenn ich 24 habe, dann passt das schon in ShortInt. Bei 246 nicht mehr und er nimmt Integer.

Bei nil ist die Reihenfolge ein bisschen wirr und zwar wie folgt (durch Testen rausgefunden ):

typisierter Pointer (E2251 bei zwei unterschiedlichen)
untypisierter Pointer
TObject Nachfahre (E2251 bei zwei unterschiedlichen)
TObject
IInterface Nachfahre (E2251 bei zwei unterschiedlichen)
IInterface
Klassenreferenz (E2251 bei zwei unterschiedlichen)
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (17. Jul 2014 um 13:03 Uhr)
  Mit Zitat antworten Zitat