Rss & SiteMap
搭建论坛 http://bbs.diylsoft.com:8118/starforum/index.asp
如附件所示,请先将附件解压到一个文件夹里,如ABC。。。
问题如下:如果直接在IPD文件上双击,可以正常运行;但如果通过搭建之星的“打开”,则提示出错,问题就出在SQL语句中的文件名上。
即使在搭建的运行环境中,将用户目录设置为该文件夹,打开仍然出错。。
下载信息 [文件大小: 下载次数: ] | |
![]() |
进一步测试发现,通过搭建之星的“打开”,有时又不出错,非常奇怪。
出错时的提示信息表明,搭建将SQL语句中所涉及的数据库文件默认到搭建之星的安装目录下了。此问题必须解决,因为跨文件的数据表查询操作是很常见的。
我这里反复打开“文件”和“数据表”都没有问题。
您说是缺省目录的问题,可是,如果直接双击IPD文件,它的运行是正常的啊。这又该如何解释呢?
只有通过星的“打开”时才会出错,而且有时出错,有时不出错。出错时的提示信息表明,系统反而把搭建之星的安装目录作为默认路径了。是不是搭建的“运行环境”设置需要再作改进?
改绝对目录是不行的,因为我无法确认用户会把这个定制的应用系统安装在哪个目录下。但在当前这个应用系统中,data这个子目录是必须存在的,所以,必须用.\
就目前这个例子,不知是否有更好的解决办法?
同样的一个文件,直接执行不出错,通过星的“打开”有时出错、有时不出错。这只能说明搭建在这方面还有不完善的地方。
希望作者不要总是强调文件目录的问题,因为,您无法解释:为什么有时候通过星“打开”时又会正常运行?
所以,我总觉得,搭建之星在内部处理“安装目录”和“项目所在目录”时有欠妥的地方。比如,在设置“用户项目目录”以后,按理说打开一切文件时都会从这个默认目录中去找,但如果你插入的是图片、声音等文件,首先打开的目录竟然还是搭建之星的安装目录。这个问题我早就发现了,只是因为它并不影响正常使用,所以一直就没有反映,麻烦就麻烦点吧。
因为这个就是“当前目录问题”,“打开文件对话窗” 和 通过“我的电脑”打开系统目录,操作系统对当前目录的处理是不同的,所以结果也不同。
在SQL中使用相对目录,《搭建》对此是处理不了的,《搭建》命令中的“相对目录”,是变成绝对目录后,才使用的;给设计者带来很多方便,这是《搭建》的优点。
如果要在其中要使用相对目录,必须要在运行SQL之前“设置当前目录”,但目前没有,准备这次升级增加;但即使这样设计状态下打开还是会有问题(因为设计状态,是不会运行设置的命令)。
在多“任务状态运行”状态下(同时运行多个程序),也有可能出现问题(因对当前目录的争夺),所以我们不赞成在SQL中使用相对目录。
一定要在SQL运行之前,把相对目录变成绝对目录;目前你只能动态设置。程序最好不要运行在一种假设的状态下。
谢谢FSJM的回复,我再好好研究一下。期待着早日看到升级版本。。
在FSJM的启发下,通过“文件名称操作”构件,动态取得数据库文件的绝对目录,然后再赋值给SQL语句,问题彻底解决。
只是这样显得麻烦了一点点。。