0

我已将 vb6 ocx 转换为 C# com 控件。此 com 控件由以下内容设置:

[Guid("986067DA-F6C4-4C19-82ED-5D4DF1F54DB1")]
[ClassInterface(ClassInterfaceType.AutoDual)]
//Implementing interface that will be visible from PowerBuilder
[ProgId("Cmnd90.ACmnd")]
[ComVisible(true)]

在 vb6 应用程序中加载此 com 控件时,它显示正确。但客户正在使用 powerbuilder 并没有显示在那里。客户说,为了让 com 控件在他的应用程序中显示,我们需要将控件的 TYPEFLAGS 设置为 TYPEFLAG_FCONTROL。这怎么能在.NET中完成?

4

1 回答 1

1

也添加以下装饰:

[System.Runtime.InteropServices.TypeLibType(TypeLibTypeFlags.FControl)]

请参阅:http: //msdn.microsoft.com/en-us/library/system.runtime.interopservices.typelibtypeattribute.aspx

于 2012-06-14T15:14:42.603 回答