So nun war ich mal ganz böse und habe im Constructor "_AddRef" aufgerufen, damit nicht immer alles zerstört wird...
Das ist
keine Lösung, aber es hilft mir schon mal ein wenig tiefer in die Materie einzublicken...
Dabei hab ich nach dem erstellen von "TIObjBase" (MyObj: TObject = TIObjBase.Create
folgendes getestet:
Delphi-Quellcode:
If Supports( MyObj, IInterface ) Then Begin
Beep; { Hier gehts durch, ist Ok }
End;
If Supports( MyObj, IPNameRead ) Then Begin
Beep; { Hier gehts nicht durch, ist nicht Ok WARUM ??? }
End;
If Supports( MyObj, IPNameWrite ) Then Begin
Beep; { Hier gehts durch, ist Ok }
End;
If Supports( MyObj, IPValues ) Then Begin
Beep; { Hier gehts nicht durch, ist Ok }
End;
Dabei ist mir aufgefallen, dass scheinbar "IPNameRead" unterschlagen wird...
Da aber "IPNameWrite" von "IPNameRead" abgeleitet ist, versteh ich das eigendlich nicht so, müste er da nicht auch durch den entsprechenden Block?
Bye Christian