烂C++Builder6.0无法控制Mapx4.0。郁闷中........
本人想用C++Builder6.0和Mapx4.0开发Gis系统。但是发现在BCB6.0里面根本就无法有效的控制Mapx。真是郁闷!连加个图层这么简单的事情多无法实现。
AnsiString FileName;
Variant f;
if(OpenDialog1->Execute())
{
FileName=OpenDialog1->FileName;
f=FileName;
Map1->Layers->Add(f);
}
斑竹,把我想想办法,我可不想放弃。
问题点数:0、回复次数:11Top
1 楼lwglucky(才鸟)回复于 2004-08-05 09:00:53 得分 0
肯定是你自己程序有问题吧??Top
2 楼Maconel(Maconel)回复于 2004-08-05 09:09:51 得分 0
听说bcb开发mapx是不大好使,vb是最合适的。
当然我也是听说的。
推荐给你一个网站,专门搞这方面的。
资源大联盟:
http://zydlm.wxhc.com.cn/main.aspTop
3 楼zihan(子寒)回复于 2004-08-05 09:33:20 得分 0
我觉得是你自己的问题吧,首先你加图层,你加的那个文件是什么东西??必须是mapinfo的格式,*.tab,另外,你的用法也有问题.
mainunit->mapform->map1->OleObject->layers->add(openDialog1->FileName);
我这里是mapx5.0的,不知道你的为什么不可以,Top
4 楼zleia(zleia)回复于 2004-08-05 10:08:42 得分 0
zihan(子寒) 哥哥:
能否贴点例子上来。我的qq:10770047Top
5 楼zleia(zleia)回复于 2004-08-05 10:26:23 得分 0
zihan(子寒) 哥哥:
我试了你的代码,还是无法编译通过啊。帮帮我吧,可以另外给分,要多少我都给2000分。
发个bcb的例子给我行吗?我的email:zleia@shou.comTop
6 楼ahaozi(老公仔)回复于 2004-08-05 10:40:14 得分 0
楼主,我当时用BCB+MapX开发时痛苦万分。
BCB对COM兼容不太好。
但是MapX也是一个COM,所以我建议你不要用BCB来开发。
用Delphi吧。反正BCB与Delphi差不多的。
我也尝试过在Delphi中写DLL,在BCB调用。效果也不太好。特别是数据绑定的。
BCB6对COM兼容性好一点,你要是一定要用,那你就用BCB6+MapX5吧。
4.0我没有用过,4.5在BCB6下面也不太好用。
我的网站上有一个小例子,你下载来看看吧。基本的功能都有的。
http://zydlm.wxhc.com.cnTop
7 楼zleia(zleia)回复于 2004-08-05 10:41:28 得分 0
ahaozi(老公仔) 谢谢啊!Top
8 楼kubite(下辈子搞摇滚)回复于 2004-08-06 20:24:41 得分 0
BCB6.0和MapObjects2.2兼容的也不好,还是bcb5.0好一点Top
9 楼zihan(子寒)回复于 2004-08-07 16:45:07 得分 0
不知道你为什么编译都无法通过.你把编译的错误信息贴上来看看.你如果安装了mapx,(建议你安装MapXTreme里面得例子),那里面有很多例子,你可以调试一下就知道了.没有cb的,但是有delphi,c++,和vb的.
BCB对COM兼容不太好,我不知道老兄怎么知道得,据我所知,他对com得兼容性要比delphi好像还好,因为c++的缘故,而delphi以前一直都被认为是专门为了com而设计了很多不好的东西,不过后来好了,他们对com的支持有一定的区别.
我自己没有开发过bcb和mapx的程序,但是看过一些例子,应该是不会有问题的.Top
10 楼nevergetwin(头球冲顶)回复于 2005-05-20 10:06:56 得分 0
看到一个添加图层的方法,不知道对你有没有用
void __fastcall TForm1::Button1Click(TObject *Sender)
{
this->Map1->Layers->Add("图层表文件名",0) ;/* add()中的参数怎么写 Mapx的LayerInfo 对
}
就OKKTop
11 楼xjflyttp(疯子nOvEr)回复于 2005-05-20 10:54:03 得分 0
搞不懂~~~烂你还用?~~~Top




