创建geomedia+application

来源:互联网 发布:tpp播放软件 编辑:程序博客网 时间:2024/05/16 09:45

 

GeoMedia.Application GeoApp = null;
            int i;

            try
            {
                GeoApp = (GeoMedia.Application)Marshal.GetActiveObject("Geomedia.Application");
            }
            catch
            {
                GeoApp = (GeoMedia.Application)Activator.CreateInstance(Type.GetTypeFromProgID("Geomedia.Application"));
            }
GeoApp.Visible = true;
如果使用GeoMedia.Application来打开geomeida进程,则以后中所有相关的对象都必须使用CreateService方法进行创建,若使用new进行对象的创建,则无法与GeoMedia.Application的各种对象相关联。例如GMMapview对象是从geomedia.Window中获取的,如果将使用new构造的LegendEntry添加进GMMapview,则会报错“指定的转换无效”.
因此,如果是用new构造的对象,则其所有相关的geomeida对象都必须使用new来构造,如果是与geomedia应用程序相关联,则所有相关的geomeida对象都必须使用CreateService来创建。