今天又遇到了问题解决不了,创建层!!!
2012-03-11 19:36
337 查看
下面的代码失败了,但同等的delphi和Vb是成功的。先放在这,以后解决
bcb代码如下:
CMapXLayerInfoDisp layerInfo;
CMapXFieldsDisp fields;
layerInfo.Bind(StringToOleStr("MapX.LayerInfo.5"));
if(!layerInfo.IsBound()){
ShowMessage("绑定MapX.LayerInfo.5失败!!" );
return;
}
fields.Bind(StringToOleStr("MapX.Fields.5"));
if(!fields.IsBound()){
ShowMessage("绑定MapX.Fields.5失败!!" );
layerInfo.Unbind(true);
return;
}
fields.AddStringField(Variant("ID"), Variant(12), EmptyParam);
fields.AddStringField(Variant("Name"), Variant(50), EmptyParam);
fields.AddNumericField(Variant("Deptch"), Variant(12), Variant(2), EmptyParam);
fields.AddIntegerField(Variant("Length"), EmptyParam);
layerInfo.Type = miLayerInfoTypeNewTable;
layerInfo.AddParameter(WideString("FileSpec"), Variant(WideString("c://test.tab")));
layerInfo.AddParameter(WideString("NAME"), Variant(WideString("sds")));
layerInfo.AddParameter(WideString("Fields"), Variant((CMapXFields *)fields));
CMapXLayer *newLayer = m_map->Layers->Add(Variant((CMapXLayerInfo *)layerInfo), EmptyParam);
if(newLayer == NULL){
ShowMessage("创建MapX.Layer失败!!");
layerInfo.Unbind(true);
fields.Unbind(true);
return;
}
Dephi代码如下(能正常运行)
Lyr:CMapXLayer;
LayerInfo:CMapXLayerInfo;
Flds:CMapXFields;
FileSpec: String;
begin
LayerInfo :=CoLayerInfo.Create();
Flds := CoFields.Create();
Flds.AddStringField('ID', 12, EmptyParam);
Flds.AddStringField( 'Name', 50, EmptyParam);
Flds.AddNumericField( 'Deptch', 12, 2, EmptyParam);
Flds.AddIntegerField( 'Length', EmptyParam);
LayerInfo.Type_ := miLayerInfoTypeNewTable;
LayerInfo.AddParameter( 'FileSpec', 'c:/test.tab');
LayerInfo.AddParameter( 'NAME', 'hello');
LayerInfo.AddParameter( 'Fields', Flds);
Lyr := Map1.Layers.Add(LayerInfo, EmptyParam);
if(Lyr = nil) then
begin
ShowMessage('错误');
end;
bcb代码如下:
CMapXLayerInfoDisp layerInfo;
CMapXFieldsDisp fields;
layerInfo.Bind(StringToOleStr("MapX.LayerInfo.5"));
if(!layerInfo.IsBound()){
ShowMessage("绑定MapX.LayerInfo.5失败!!" );
return;
}
fields.Bind(StringToOleStr("MapX.Fields.5"));
if(!fields.IsBound()){
ShowMessage("绑定MapX.Fields.5失败!!" );
layerInfo.Unbind(true);
return;
}
fields.AddStringField(Variant("ID"), Variant(12), EmptyParam);
fields.AddStringField(Variant("Name"), Variant(50), EmptyParam);
fields.AddNumericField(Variant("Deptch"), Variant(12), Variant(2), EmptyParam);
fields.AddIntegerField(Variant("Length"), EmptyParam);
layerInfo.Type = miLayerInfoTypeNewTable;
layerInfo.AddParameter(WideString("FileSpec"), Variant(WideString("c://test.tab")));
layerInfo.AddParameter(WideString("NAME"), Variant(WideString("sds")));
layerInfo.AddParameter(WideString("Fields"), Variant((CMapXFields *)fields));
CMapXLayer *newLayer = m_map->Layers->Add(Variant((CMapXLayerInfo *)layerInfo), EmptyParam);
if(newLayer == NULL){
ShowMessage("创建MapX.Layer失败!!");
layerInfo.Unbind(true);
fields.Unbind(true);
return;
}
Dephi代码如下(能正常运行)
Lyr:CMapXLayer;
LayerInfo:CMapXLayerInfo;
Flds:CMapXFields;
FileSpec: String;
begin
LayerInfo :=CoLayerInfo.Create();
Flds := CoFields.Create();
Flds.AddStringField('ID', 12, EmptyParam);
Flds.AddStringField( 'Name', 50, EmptyParam);
Flds.AddNumericField( 'Deptch', 12, 2, EmptyParam);
Flds.AddIntegerField( 'Length', EmptyParam);
LayerInfo.Type_ := miLayerInfoTypeNewTable;
LayerInfo.AddParameter( 'FileSpec', 'c:/test.tab');
LayerInfo.AddParameter( 'NAME', 'hello');
LayerInfo.AddParameter( 'Fields', Flds);
Lyr := Map1.Layers.Add(LayerInfo, EmptyParam);
if(Lyr = nil) then
begin
ShowMessage('错误');
end;
相关文章推荐
- 利用DOM创建input时,遇到的问题解决方法
- 关于在创建JFrame中遇到的问题及解决办法
- 总结今天遇到的问题以及解决方法
- 2014-10-22遇到的问题----Android创建第一个项目出现appcompat_v7工程的解决办法
- Android应用程序创建热点以及自动链接Wifi,我遇到的问题以及我是怎么解决的
- 关于今天做项目时遇到的问题 以及解决办法
- yii 使用cactiveform 创建表单时候遇到的一些验证问题和使用ajax_form时重置验证规则的解决办法
- 今天遇到的几个问题以及解决方法
- 今天遇到关于JAVA INTEGER类型的问题 不过还好 现在解决了,
- 创建WCF项目遇到的问题和解决办法续(二)
- javascript创建对象的方法和遇到问题的解决方法
- 相信问题一定能解决。没有过不去的坎,当遇到疑难问题时,不要沮丧灰心,肯定可以解决的。今天解决不了,也不要影响心情,要有好的心态。
- Codeigniter中mkdir创建目录遇到权限问题和解决方法
- 解决Linux中在创建大于4g文件时遇到的File Size Limit Exceeded问题
- 安装Sql Server 2008,遇到的无权限创建数据库、修改身份验证模式等问题的原因及解决方法
- eclipse创建配置struts项目时遇到的ClassNotFoundException问题解决方案
- FeatureClass下创建要素(CreateFeature)遇到的一些问题及解决
- OpenStack创建win7实例遇到的问题(尚未解决,求帮助)
- 动态创建组件时遇到的问题及解决方法