Announcement

Collapse
No announcement yet.

IUnknown ?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • IUnknown ?

    Hallo,

    ist das der richtige Weg der Zuweisung ?

    for i:=lBound to hBound do begin
    pClient := IUnknown(saClients[i]) as IClient;
    ......
    end;

    besten Dank,
    J.Schneider

  • #2
    Hallo,

    immer dann, wenn über <b>As</b> ein Interface-Zeiger in einen anderen Interface-Zeiger umgetauscht werden soll, ruft Delphi hinter den Kulissen die Methode <b>QueryInterface</b> des IUnknown-Interfaces auf. Da ein Dual Interface sowohl von IUnknown als auch von IDispatch abstammt und IDispatch auch von IUnknown abstammt, sind beide Varianten zulässig: <br>
    a) aObj := IUnknown(aObjOld) as IOjbInterface <br>
    b) aObj := IDispatch(vObj) as IOjbInterface <br>
    Wenn sich hinter <i>vObj</i> ein Interface verbirgt, das über die späte Bindung angefordert und in einem OleVariant abgelegt wurde, ist der Zugriff b) angebracht

    Comment

    Working...
    X