Genau das macht ja der Default-Equality-Comparer. Ist aber wirklich nicht unbedingt was man haben will. Hast du bspw. zwei Float-Werte, betrachtest du die in der Regel als gleichwertig, wenn sie auf den ersten x Nachkommastellen gleich sind. Oder bei einem Record - Da reicht es schon, wenn die unsichtbaren "Padding"-Bytes zwischen Feldern unterschiedlich sind. Oder zwei unterschiedliche Strings, aber mit gleichem Inhalt. Oder...
Naja. Bei Float-Werten auf Gleichheit nimmt man halt normalerweise "SameValue". Schon klar, dass das derzeit nicht unbedingt funktioniert. Aber zumindest könnte man bei der Einschränkung "Zahl" dann alle anderen Operatoren (>, <, +, - etc.) verwenden, was ja aktuell bei generischen Typen nicht so ohne weiteres geht. Dafür ist aber der Delphi-Compiler (im Vergleich z.B. zu C++) sauschnell
.
Man sollte nie so viel zu tun haben, dass man zum Nachdenken keine Zeit mehr hat. (G.C. Lichtenberg)