Einzelnen Beitrag anzeigen

Benutzerbild von Shivan
Shivan

Registriert seit: 5. Mär 2003
Ort: Ravensburg
131 Beiträge
 
Delphi 6 Enterprise
 
#2

Re: DWF viewer COM automation ?

  Alt 30. Mär 2007, 14:19
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.
Markus Stein
  Mit Zitat antworten Zitat