Hi,
du bekommst ja pIAdPageObjectNode als Parameter mit. Da es als IDispatch übergeben wird, kannst du das casten und zwar so wie im VB-Beispiel.
IDispatch musst du in
COM sehen wie ein TObject... ein Pointer auf eine Instanz von etwas...
also müsste
Label1.Caption := (pIAdPageObjectNode as EPlotRenderer.IAdPageObjectNode).Name;
dir den Objectnamen geben. Falls nicht, dann musst du pIAdPageObjectNode noch als IDispatch hardcasten
Label1.Caption := (IDispatch(pIAdPageObjectNode) EPlotRenderer.IAdPageObjectNode).Name;
Aber da es bereits als IDispatch übergeben wird, sollte das so funktionieren. Manchmal muss man auch ein Unknown Interface noch als IUnknown und dann als zweites (!) als IDispatch casten, so dass es dann später in die nächst höhere Klasse gecastet werden kann. Delphi ist da etwas arg seltsam.
Du kannst natürlich wie in dem Beispiel dir auch eine weitere Variable machen vom Typ EPlotRenderer.IAdPageObjectNode ... ist EPlotRenderer eigentlich die TLB? Weil dann musst du ggf. diesen "Präfix" nicht angeben.