ArcObjects - IWorkspaceExtension 和组件类别注册
我已经编写了 IWorkspaceExtension 的实现(以及声明 Init 方法的 IWorkspaceExtensionControl),并将其注册到 ESRI 地理数据库工作空间扩展组件类别中。但是,当我连接到工作区时,扩展未“初始化”。
当我向地理数据库注册 IWorkspaceExtension 时,我能够获得“Init”实现,但这不是一种选择,因为我无法在所有客户端上安装该扩展,只能在将使用该功能的客户端上安装。
我希望有人能在几分钟内回答我这几天一直在挣扎的问题。 =D
谢谢。
I have coded an implementation of IWorkspaceExtension (along with IWorkspaceExtensionControl, which declares the Init method), and registered it in the ESRI Geodatabase Workspace Extensions Component Category. However, when I connect to the Workspace, the Extension is not "Init"ed.
I was able to get the implementation "Init"ed when I register the IWorkspaceExtension with the Geodatabase, but that is not an option because I cannot install the Extension on all clients, only on the one that will use the functionality.
I hope someone can answer in a couple of minutes what I have been struggling with for a couple of days. =D
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您是否使用 IWorkspaceExtensionManager.RegisterExtension 注册了它?
http://资源。 esri.com/help/9.3/ArcGISEngine/dotnet/d50974a4-d67a-4cf0-9041-20cdb9f3a052.htm#GDBReg
请记住,如果没有 DLL,或者如果 DLL 崩溃,您将无法打开工作区。如果 ESRI 允许像 SQL Server 那样将程序集存储在地理数据库中,那么这就不成问题了。
Did you register it with IWorkspaceExtensionManager.RegisterExtension?
http://resources.esri.com/help/9.3/ArcGISEngine/dotnet/d50974a4-d67a-4cf0-9041-20cdb9f3a052.htm#GDBReg
Keep in mind that without the DLL, or if the DLL crashes, you will not be able to open the workspace. This wouldn't be a problem if ESRI allowed assemblies to be stored in the geodatabase, the way SQL Server does.