MG)
9、取项目的文件名(带全路径)
LPCTSTR _PRJGetItemName(MAPPROJECT prj,int index)
参数: 入口 prj - 工程句柄
index - 文件位置
出口 无
返回值:index指定文件的名称的字符串
10、取项目的文件名(不带
全路径)
short _PRJGetItemName1(MAPPROJECT prj,int index,char *name)
参数: 入口 prj - 工程句柄
index - 文件位置
出口 *name - 返回文件的名称
返回值:成功返回1,失败返回0
24、问:如果调用CGisEditView的编辑与修改什么的函数,那么视图窗口总是处于交互状态,请问如何取消?
答:先调用SetExtTool(NULL);
再调用SetOperateState(0);
25、问:我用
VB来调试一些帮助中列举的例子,在加载工程的时候用bPRJLoadProject(),
系统给出错误:bad dll calling convention.我不知道什么原因?
答:你在mapgis目录下的basic中找到 map_prj.bas ,对bPRJLoadProject的声明如下。
Declare Function bPRJLoadProject Lib "mapprj60.dll" Alias "#1" (Optional ByVal aInst As Integer = 0) As Long
你自己改为:
Declare Function bPRJLoadProject Lib "mapprj60.dll" Alias "#1" (Optional ByVal aInst As Integer = 0, Optional ByVal fastOpen As Integer = 0) As Long
26、问:请问用delphi调用mapgis的dll一定要用vc的dll对吗
答: 不用重装VC。只需要到别的地方去找一个MFC42D。DLL文件复制到SYSTEM目录即可。
27、问:我想取消EditView的右键功能,而自己用Command1(在vb中)来实现,该怎么样做?(比如实现放大、缩小、平移、更新、复位等)
答: EditView空间提供zoomin()放大,zoomout()缩小等对窗口操作的方法。具体可参考对象浏览器中对各方法的注释。
28、问:我在求距离和面积的时候想先画出线然后得到距离或面积,就跟在MAGPGIS图库管理子系统中距离测量和面积测量功能一样,又该怎么样来实现?
答:画线可以采用异或线的方法,鼠标点击的每个点都转换成逻辑坐标,放入D_DotSet,再用CalculateLength,CalculateOneArea求长度和面积。
29、问:急!!关于_InputFileName()函数
我的代码是这样的:
char * strOutPath;
char * fileter;
strOutPath=NULL;
fileter="wt";
_InputFileName(strOutPath,NULL,NULL,"PNT",'1',fileter,NULL);
我调试的时候,一到最后一行就报错。
错误信息如下:
Unhandled exception in ChangePoint.exe(BAS60.DLL):0xC0000005:Access Violation
请指教,谢谢!
答:
char szName[128];
char dsn[32];
char owner[32];
char ftype;
char openflag=0; //0 打开文件;1 保存文件
char filter[]=_T("线文件(*.wl)/0*.wl/0点文件(*.wt)/0*.wt/0/0");
char ttlStr[]=_T("打开文件");
char log[32];
char psw[32];
memset(szName,0,sizeof(szName));
memset(dsn,0,sizeof(dsn));
memset(log,0,sizeof(log));
memset(psw,0,sizeof(psw));
memse