Announcement

Collapse
No announcement yet.

MSAgent

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

  • MSAgent

    Ich möchte gerne die Liste der Animationen auslesen aber beim importieren der Typ Bibliothek bzw. auch beim Import des Active X hat Delphi aus dem dem entsprechenden Enum einen IUnknown Typ gemacht, sodaß ich mich nicht durch die Collection Animationsnames bewegen kann.

    Irgendwer vielleicht einen Tip wie ich dem Herr werden soll. Laufen soll das ganze unter Delphi 5.0 CS.

    LG
    Peter

  • #2
    Hallo,

    das folgende Beispiel demonstriert den Zugriff:
    <pre>
    procedure TForm1.GetAnimationList(aSL: TStrings; aAgent: IAgentCtlCharacterEx);
    var
    pEnum : IEnumVARIANT;
    vAnimName : OleVariant ;
    dwRetrieved : LongWord;
    hRes : HResult;
    begin
    aSL.Clear;
    pEnum := aAgent.AnimationNames.Enum as IEnumVARIANT;
    while (TRUE) do
    begin
    hRes := pEnum.Next(1, vAnimName, dwRetrieved);
    if hRes <> S_OK then
    Break;
    aSL.add(vAnimName);
    end;
    end;
    </pre>
    P.S. Über <b>QueryInterface</b> darf man IUnknown gegen jeden anderen Interface-Zeiger eintauschen (solange das Objekt diesen unterstützt). Delphi macht diesen Schritt bei einem AS-Aufruf hinter den Kulissen automatisch

    Comment


    • #3
      Danke für die superschnelle Antwort. Hätte jetzt nur mehr die Frage wo ich IEnumVariant hernehme.

      mfg
      Peter A. Smoli

      Comment


      • #4
        Borland deklariert dieses Standard-Interface in der Unit <b>ActiveX</b>

        Comment


        • #5
          Danke. Super jetzt klappts

          Comment

          Working...
          X