| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2625 人关注过本帖
标题:PATH_=sys(5)+sys(2003)+'\'无法找到PATH_这个变量
只看楼主 加入收藏
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:1 
也许是变量下划线的问题,后面再加一个字母或数字试试。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-03-10 13:32
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
以下是引用hu9jj在2012-3-10 13:32:01的发言:

也许是变量下划线的问题,后面再加一个字母或数字试试。


看看这个就知道问题出在什么地方了。


https://bbs.bccn.net/thread-362623-2-1.html

楼主对VFP的基础掌握的很少。类似问题提过多次,看下他的发贴记录就知道了。

[ 本帖最后由 sdta 于 2012-3-10 13:39 编辑 ]

坚守VFP最后的阵地
2012-03-10 13:37
hu9jj
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:红土地
等 级:贵宾
威 望:400
帖 子:11857
专家分:43421
注 册:2006-5-13
收藏
得分:0 
我习惯用sys(5)+sys(2003)来设定默认的路径,这样编译好的程序可以随意放在磁盘的任何位置,而不会因为路径出错。
sys(2003)取得的是VFP程序启动的目录,在VFP环境下,这个目录当然是VFP.EXE文件所在的目录,如果用户已经将VFP程序编译成EXE文件后,直接运行这个EXE文件,sys(2003)取得的则是这个文件所在的目录。不知道我这样表述是否准确。

活到老,学到老!http://www.(该域名已经被ISP盗卖了)E-mail:hu-jj@
2012-03-10 13:39
sdta
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:江苏省连云港市
等 级:版主
威 望:335
帖 子:9841
专家分:27213
注 册:2012-2-5
收藏
得分:0 
回复 13楼 hu9jj
版主表述的很清楚,关键是楼主的VFP功底薄弱了点,对VFP中路径的问题没有深入探讨过,才会发生这种问题。

坚守VFP最后的阵地
2012-03-10 13:44
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
问题是他并非编译成.exe执行。PATH_是合法的变量标识符,不需在后面加东西的。

同样的sys(5)+sys(2003),在编译前和编译后,指向不同的路径,不犯迷糊才怪。

[ 本帖最后由 TonyDeng 于 2012-3-10 13:58 编辑 ]

授人以渔,不授人以鱼。
2012-03-10 13:54
qingfameng
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:35
帖 子:964
专家分:3019
注 册:2010-2-6
收藏
得分:1 
看了大家的回复后,顺便也说一句:sys(5)+sys(2003),或者 sys(2023),在同一台操作机子上,运行本机程序中的这些参数是可行的。此参数指的是本机的默认当前路径。但是,如果是在终端机上,使用 IE,访问服务器的自动服务中的这些参数,客户机调用方法时,接受会出错。下面是简单的对象举例,列举了一个方法。此段在编译成多线程组件 dll 文件,测试能够通过.

 local ca  
 oc=createobject("test")
 oc.getinfo(ca)
 close all
 return

 define CLASS test AS Session OLEPUBLIC
    PROCEDURE Init
      SET MULTILOCKS ON
    ENDPROC

    PROCEDURE GetInfo (ca) HelpString "获取服务信息"
        LOCAL oCA AS String,cXML AS String
        close all
        clj=sys(5)+sys(2003)+"\tst_aa\" && 此句在同台机检测无误,但客户机接受会出错,换成任意绝对路径则可以。
        if !directory(clj)
           mkdir &clj
        endif
        create table &clj\ca (id i,xm c(50),sl n(12,2),dw c(20))
        insert into &clj\ca (id,xm,sl,dw) values (1,"电视机",5,"台")
        insert into &clj\ca (id,xm,sl,dw) values (2,"洗衣机",3,"台")
        select ca
        cursortoxml("ca","&clj\xmlwd.xml",3,512,0,"1") && 生成一个 xml 文本,放在了 clj\tt\ 下。(可在目录下看见).
        cursortoxml("ca","cxml",3,16,0,"1")
      
        browse
        
        RETURN cXML && 以 XML 字符串返回给用户。 也可以 用html 形式通过 IE 返回给用户。                          
    ENDPROC
  enddefine
  
  
   
  
   
  
2012-03-12 14:11
lygcw9603
Rank: 5Rank: 5
等 级:职业侠客
威 望:1
帖 子:233
专家分:357
注 册:2006-8-27
收藏
得分:0 
回复 16楼 qingfameng
高见,学习了。
2012-03-13 01:26
快速回复:PATH_=sys(5)+sys(2003)+'\'无法找到PATH_这个变量
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.051962 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved