Delphi for Php的一个小Bug
来源:互联网 发布:如何取消8080端口占用 编辑:程序博客网 时间:2024/04/30 23:15
近期在使用D4P过程中遇到一个怪问题.那就是在程序中使用Window控件后进行调试时Window无法显示,总是显示网页脚本有错误:qx未定义,而当程序发布后却又能正常显示,而在另外一台机器中又是正常的,经过比较D4P的安装配置又是一样的,这让我百思不得期解.后来在对比调试网页及发布网页的源代码时发现了一个问题:
调试时其中有一段: <script type="text/javascript" src="file:///e:/program files/codegear/delphi for php/1.0/vcl/qooxdoo/framework/script/qx.js"></script>
在发布后变成了:<script type="text/javascript" src="vcl/qooxdoo/framework/script/qx.js"></script>
也就是说在调试时网页访问了本地资源:e:/program files/codegear/delphi for php/1.0/vcl/qooxdoo/framework/script/qx.js,这一下就恍然大悟了,我装的是IE7安全性较高不容许访问本地资源,马上检查能正常运行的机器,发现果然是IE6的.
于是就去研究VCL4PHP,发现在VCL.INC.PHP中有一段代码且是专门为IE做的:
if ((strpos($part,':')) && (strpos($dirs[$i],':')))
{
//This fixes the problem with having the code to be run
//and the library in different drives, but it only works with IE
//FF throws a security warning
//TODO: Must fix another way
$result='file:///'.$path;
return($result);
}
于是就修改为:
if ((strpos($part,':')) && (strpos($dirs[$i],':')))
{
//This fixes the problem with having the code to be run
//and the library in different drives, but it only works with IE
//FF throws a security warning
//TODO: Must fix another way
$result='vcl';
return($result);
}
并修改Apache的httpd.template.conf文件,在其中加入一个虚拟目录:
Alias /vcl/ "%VCL_DIR%/vcl/"
这样困扰已久的调试问题终于解决了.不想还没来的及兴奋又有新问题了,经过这样修改后原来的工程是能够调试了,但在新工程中使用控件时却找不到JS文件了网页出错,于是恢复文件.同时也懒的搞了就做了一个最简单的解决方法,那就是把VCL文件夹(VCL4PHP源代码)复制一份到工程所在目录就可以了.至于VCL4PHP源代码就让高手去修改了.
{注:已经有解决方法了:http://blog.csdn.net/lqglaive/archive/2007/06/01/1634399.aspx}
- Delphi for Php的一个小Bug
- php thinkphp的一个小BUG
- Delphi for PHP 使用dbgrid 连接oracle 的bug
- 第一个delphi for php的小程序
- JSF Studio 1.2 final for eclipse的一个小Bug
- delphi Ado的一个bug
- 【转】php中iconv函数的一个小bug
- 发现Delphi 2005的几个小Bug
- Delphi for PHP的试用
- Delphi for PHP的试用
- Delphi for PHP的试用
- Delphi for PHP的试用
- Delphi for PHP的试用
- Delphi for PHP的试用
- Delphi 7 的一个奇怪的Bug
- TEmbeddedwb的一个小bug
- gcc的一个小bug
- CStdioFile的一个小Bug
- iTextSharp
- 投资热点转向蓝筹股?简直是胡说八道!
- 进程调度算法实现(自己写的)
- 关于股市
- 生于八十年代初的九大尴尬
- Delphi for Php的一个小Bug
- 抄书王--《自动自发》【美】阿尔伯特•哈伯德 著
- 想像可以突破一切
- 做人不要"太在乎"
- Oracle WITH clause
- 打破记录-1.5天搞定毕业论文
- python模块之quopri: quoted-printable编解码
- 用Javascript评估用户输入密码的强度
- Java中对象的比较 == 和 equals() -Java 学习笔记 (15)