Einzelnen Beitrag anzeigen

Der schöne Günther

Registriert seit: 6. Mär 2013
6.110 Beiträge
 
Delphi 10 Seattle Enterprise
 
#15

AW: Funktion vom Linker entfernt..

  Alt 26. Feb 2014, 11:34
Ich erkläre es mal andersherum.


Gegeben sei folgendes:
Delphi-Quellcode:
   IMyInterface = interface
      //
   end;

   TMyClass2 = class(TInterfacedObject, IMyInterface)
      protected var
         someInternalStuff: Single;
   end;
Bild 1: Ich habe eine IMyInterface -Variable. Der Compiler sagt mir direkt, dass sich dahinter eine TMyClass2 -Instanz verbirgt. Soweit alles super.

Bild 2: Jetzt möchte ich die Variable auf TMyClass2 casten um zu sehen, was denn someInternalStuff für einen Wert hat. Da ich so etwas im Quelltext nie gemacht habe, hat der Linker das entfernt.

Bild 3: Die Lösung: Um das zu umgehen muss ich halt im Quelltext einfach mal ein Interface zu einem Objekt casten. Dann geht es.


Was ich suche: Eine Alternative dazu. Der Fall "Interface zu Objekt" ist ja nur ein Beispiel. Ich würde gerne vermeiden, immer Aufrufe zu sammeln, die ich in der Debug-Fassung einmal künstlich aufrufen muss. Gibt es da einen Weg?
Miniaturansicht angehängter Grafiken
1.png   2.png   3.png  
  Mit Zitat antworten Zitat