起步软件技术论坛-X3

 找回密码
 立即注册
搜索
楼主: hdwt

第三方控件GIS 转换出错**

[复制链接]
 楼主| 发表于 2007-4-27 14:10:03 | 显示全部楼层
procedure TSDGIS.BizFormCreate(Sender: TObject);
var
  pSDEFac     : IWorkspaceFactory;
begin
  //tbArcMain.SetBuddyControl(mcarcmain.Object_);
  //tocArcMain.SetBuddyControl(mcarcmain.Object_);
  pSDEFac:=Business.System.ComObj.CreateComObject(gis.esriDataSourcesGDB_TLB.CLASS_SdeWorkspaceFactory) as IWorkspaceFactory;
end;
还是不行,编译不过去
[错误]Biz:\GYSCGLXT\GGGN\TEST\GIS\GIS_FUNC.FUNC.DIR\SDGIS.Form.pas(80, 3): Assertion failure (E:\DEVELOP\BUILD_MOSTNEW\TIB3\SRC_PROTECTED\COMMONLANGUAGE\Compiler\CLCClasses.pas, line 2998)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-27 14:10:47 | 显示全部楼层
他怎么找到D盘去了?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-27 14:44:54 | 显示全部楼层
顶一下
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-27 15:43:32 | 显示全部楼层
再顶一下,有懂的给指点指点
回复 支持 反对

使用道具 举报

发表于 2007-4-27 16:59:48 | 显示全部楼层
好像是TGUID类型有问题,你改一个写法吧,用CreateOleObject

你用  CLASS_SdeWorkspaceFactory: TGUID = '{D9B4FA40-D6D9-11D1-AA81-00C04FA33A15}';
在注册表中,查找D9B4FA40-D6D9-11D1-AA81-00C04FA33A15,可以找到他的注册字符串
例如:我这里
  CLASS_WordDocument: TGUID = '{00020906-0000-0000-C000-000000000046}';
用00020906-0000-0000-C000-000000000046在regedit中查找,可以找到
HKEY_CLASSES_ROOT\CLSID\{00020906-0000-0000-C000-000000000046}
它的ProgID是默认值是“Word.Document.8”
就可以用CreateOleObject('Word.Document')来创建它
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-27 17:13:53 | 显示全部楼层
好的,我试试,谢了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-27 17:37:03 | 显示全部楼层
还是不行,郁闷啊

x3imp5.jpg

51.03 KB, 下载次数: 148

回复 支持 反对

使用道具 举报

发表于 2007-4-27 17:45:58 | 显示全部楼层
没有认真看25楼吧,不要那个  .1,这个是版本号,不要的,只要前面的
另外,不要as IUnknown了,直接as IWorkspaceFactory就可以了
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-27 18:00:47 | 显示全部楼层
呵呵,忙晕了,再试,再谢!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-4-27 18:13:49 | 显示全部楼层
结果还是一样
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-6-19 23:51 , Processed in 0.048550 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表