index 指定文件的文件类型(LIN/PNT/REG/MSIIMG) 9、取项目的文件名(带全路径) LPCTSTR _PRJGetItemName(MAPPROJECT prj,int index) 参数: 入口 prj - - 工程句柄 index 文件位置 ai - 结点工作区号 *xy - 结点位置,xy 为图形实际坐标
*rtndis - 返回距离
出口 无 返回值: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)); memset(owner,0,sizeof(owner)); _InputFileName(szName, dsn, owner, &;ftype, openflag,filter,ttlStr); if(dsn[0]!='\0') { db_GetLogPsw(dsn, log, psw); //m_hInst 工作区示例句柄 m_ai 工作区号 m_ai=_OpenFileArea(m_hInst,szName,dsn,log,psw); } else m_ai=_OpenFileArea(m_hInst,szName); szName dsn owner ftype 都是出口参数。 strOutPath 你给的是 NULL 当然是错误的。 有可能是
网络数据,dsn owner 也为 NULL,是相当危险的。 30、问:用 delphi 怎么新建一个工程?并且能不让新建的工程弹出那两个对话框吗? 答:直接 CreateComObject()as IMap,然后把这个 Imap 接口赋给 editview 即可。 31、问:关于 maplayer, 在 delphi 中 maptree 不能正确使用,
请问我如何能知道工程里所有文件的