首页 / 浏览问题 / 桌面GIS / 问题详情
desktop plugin 的生命周期
131EXP 2017年04月26日
如下代码,我想在Initialize()中添加些初始化代码,发现其中没有被调用到,MyControlAction已经绑定了一个baseItem,并能成功运行,不知道DesktopPlugin什么时机被调用,或者有什么条件才会调用Initialize()

 public class DesktopPlugin : SuperMap.Desktop.Plugin
    {
        public DesktopPlugin(PluginInfo pluginInfo)
            : base(pluginInfo)
        {
            Common.Output("run DesktopPlugin! ");
        }

        public override Boolean Initialize()
        {
            MessageBox.Show("ddssdddd");
            SuperMap.Desktop.Application.ActiveApplication.Workspace.Datasources.Opened += new SuperMap.Data.DatasourceOpenedEventHandler(Datasources_Opened);
            return true;
        }

        public override Boolean ExitInstance()
        {
            MessageBox.Show("dff");
            return true;
        }

1个回答

调用时机是插件加载的时间点。比如打开/重启iDesktop的时候。
5,560EXP 2017年04月27日

发现应该是这个IBaseItem是绑定到了其他plugin上了,请问这里的插件位置是在哪个位置设置(超图安装目录下的那个文件夹)

....\SuperMap\SuperMap iDesktop 8C\Bin\Plugins,所有的插件都应在这里面。
...