代码之家  ›  专栏  ›  技术社区  ›  Alan Clark

如何在Delphi Prism中使用互操作实例化COM对象

  •  0
  • Alan Clark  · 技术社区  · 16 年前

    我已经添加了它作为网站项目的参考。以下是相关代码:

    method _Default.Button1_Click(sender: System.Object; e: System.EventArgs);
    var
       FModel: MarketBuilderLib.MarketBuilderModel;
    begin
      FModel := New MarketBuilderLib.MarketBuilderModel;
    end;
    

    无法使用以下消息编译:

    Error 1 
    (PE190) "MarketBuilderLib.MarketBuilderModel" is an interface and cannot be 
    instantiated
    

    我理解这个信息,但不知道怎么做。非常感谢你的帮助。

    1 回复  |  直到 13 年前
        1
  •  4
  •   jamiei    16 年前

    您可以尝试使用 CreateInstance 系统中的方法。 Activator 班级。等效代码可能如下所示:

    var
      FModel: MarketBuilderLib.MarketBuilderModel;
    begin
      FModel := (MarketBuilderLib.MarketBuilderModel)Activator.CreateInstance(GetTypeFromProgID("{PROG ID}"));
    end;
    

    GetTypeFromProgID 使用程序标识符,否则将生成 InvalidComObjectException