以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [讨论]开发版发布的项目,如何在运行时取得磁盘路径?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=40164)

--  作者:VIP用户
--  发布时间:2013/9/11 9:35:00
--  [讨论]开发版发布的项目,如何在运行时取得磁盘路径?

如题:开发版发布的项目,如何在运行时取得磁盘路径?

 

现有的是“ProjectPath 返回项目文件所在目录”,该命令在开发版中取得的磁盘路径与需要的一致,但是发布后的项目在运行时取得磁盘路径却不是如此,结果就无法实现项目开发时预期的功能和目的!

 

还有其它类似的命令吗?


--  作者:狐狸爸爸
--  发布时间:2013/9/11 9:44:00
--  
发布后还是用ProjectPath获取项目文件路径,肯定没有问题。
--  作者:VIP用户
--  发布时间:2013/9/11 10:15:00
--  
以下是引用狐狸爸爸在2013-9-11 9:44:00的发言:
发布后还是用ProjectPath获取项目文件路径,肯定没有问题。

贺老师,我发现是这样的:

 

假设在磁盘路径“C:\\MyFoxTable”中开发项目,开发版获取的磁盘路径就是“C:\\MyFoxTable”,这没错!

 

但是发布项目后呢,项目文件被放到了磁盘路径“\\Project”中,而狐表主控文件却处于磁盘路径“\\Project”的上层,发布后的项目在运行过程中生成的临时文件却没有放在磁盘路径“\\Project”中,结果一旦要使用已生成的临时文件,就会因为文件不存在而产生错误!

 

请贺老师验证一下这个机制。。。

[此贴子已经被作者于2013-9-11 10:16:43编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/9/11 10:26:00
--  

你说的的临时文件是什么?

foxtable运行有两种临时文件,主程序的临时文件在安装目录的catch目录,项目的临时文件在项目文件夹的catch目录。

项目发布之后,生成的Publish目录对应发布前的Foxtable安装目录,Publish下的子目录Project对应发布前的项目目录,Project子目录中有一个和原项目同名,但是后缀名为FoxEx的文件,此文件就是发布后的项目文件。


 


--  作者:VIP用户
--  发布时间:2013/9/11 10:33:00
--  

我的项目生成的临时文件!

 

我需要生成一些临时文件,方便项目用于判断和控制运行,比如“IP.txt”文件,在打开项目和创建外部连接的时候,均能正常读取,但在项目完全打开之后,比如当用户切换之后系统需要再次进行判断,那么这个“IP.txt”文件就没法读取到了,原因这个“IP.txt”文件不存在于磁盘路径“\\Project”之中,而在其之上!

[此贴子已经被作者于2013-9-11 10:34:32编辑过]

--  作者:狐狸爸爸
--  发布时间:2013/9/11 10:40:00
--  
打包的时候,你为什不将ip.txt放在project目录下?
--  作者:VIP用户
--  发布时间:2013/9/11 10:56:00
--  
以下是引用狐狸爸爸在2013-9-11 10:40:00的发言:
打包的时候,你为什不将ip.txt放在project目录下?

这个文件是在打开项目判断的过程中生成的,磁盘路径就是用“ProjectPath”命令获取的。这个命令在打开项目和创建外部连接过程中获取的磁盘路径,与项目完全打开后再次获取时的磁盘路径不一致!


--  作者:狐狸爸爸
--  发布时间:2013/9/11 11:03:00
--  

ip.txt原来在项目文件夹的话,那么发布后,应将将ip.txt文件复制到project目录,这样才前后一致。


--  作者:VIP用户
--  发布时间:2013/9/11 11:19:00
--  
以下是引用狐狸爸爸在2013-9-11 11:03:00的发言:

ip.txt原来在项目文件夹的话,那么发布后,应将将ip.txt文件复制到project目录,这样才前后一致。

这个文件初次运行项目是没有的,由用户输入相应内容后进行保存,再进行利用,由于上述原因,无法顺利实现需要功能。
[此贴子已经被作者于2013-9-11 11:21:12编辑过]

--  作者:Bin
--  发布时间:2013/9/11 11:21:00
--  
上个例子吧,发布后你把后面的/Project 切割掉不就好了么.