Einzelnen Beitrag anzeigen

Benutzerbild von sakura
sakura

Registriert seit: 10. Jun 2002
Ort: München
11.412 Beiträge
 
Delphi 11 Alexandria
 
#1

Parametertypen ermitteln (COM Libraries)

  Alt 8. Jul 2003, 13:01
Hi,

ich habe ein Programm, welche anhand des ITypeInfo Interfaces die "Member" einer COM-Bibliothek ermittelt. Wenn ich jetzt auf die Ebene der Funktionen und Eigenschaften komme, möchte ich die Typen (und Standardwerte) der Parameter ermitteln. Wo muss ich ansetzen?

Delphi-Quellcode:
// TypeInfo ist vom Typ ITypeInfo (unit ActiveX)
// TypeAttr ist vom Typ PTypeAttr
// beide sind korrekt initialisiert
var
  FuncIndex: Integer;
  FuncDesc: PFuncDesc;
  ParamIndex: Integer;
  Names: PBStrList;
  cNames: Integer;
....
    for FuncIndex := 0 to TypeAttr.cFuncs - 1 do begin
      TypeInfo.GetFuncDesc(FuncIndex, FuncDesc);
      try
        TypeInfo.GetDocumentation(FuncDesc.memid, @AName,
          @ADocString, @AHelpContext, nil);
        // Rückgabetyp der Funktion
        VarTypeAsText(FuncDesc.elemdescFunc.tdesc.vt);
        if FuncDesc.cParams > 0 then begin
          TypeInfo.GetNames(FuncDesc.memid, Names, sizeof(TBStrList),
            cNames);
          for ParamIndex := 1 to FuncDesc.cParams do
          begin
            // Name der Funktion
            Names[ParamIndex]
//****************************************************************
// WIE BEKOMME ICH DEN TYP DES PARAMETERS UND SEINEN STANDARDWERT?
//****************************************************************
          end;
        end;
      finally
        TypeInfo.ReleaseFuncDesc(FuncDesc);
      end;
    end;
......
Daniel W.
Ich bin nicht zurück, ich tue nur so
  Mit Zitat antworten Zitat