virtual; bei TGenericClassB<T> weggemacht und am Ende noch ein
ReadLn;,
dann kommt das raus:
Zitat:
B.Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
TClassB(B).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
TGenericClassB<TObject>(B).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
(B as TClassB).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
(B as TGenericClassB<TObject>).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
TClassA(B).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
TGenericClassA<TObject>(B).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
(B as TClassA).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
(B as TGenericClassA<TObject>).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
[add]
Prozedur in TGenericClassA<T> nicht virtual und dann überschrieben, kommt sowas raus:
Zitat:
B.Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
TClassB(B).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
TGenericClassB<TObject>(B).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
(B as TClassB).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
(B as TGenericClassB<TObject>).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
TClassA(B).Method1;
A: TGenericClassA<T>.Method1 aufgerufen.
TGenericClassA<TObject>(B).Method1;
A: TGenericClassA<T>.Method1 aufgerufen.
(B as TClassA).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.
(B as TGenericClassA<TObject>).Method1;
B: TGenericClassB<T>.Method1 aufgerufen.