RAD Studio欢迎页面中的项目链接不起作用

时间:2010-05-10 16:07:09

标签: delphi delphi-2010

如您所知,RAD Studio中的欢迎页面显示了最近项目的列表,您可以通过单击其名称来打开每个项目。

我的问题是,如果项目位于My Documents文件夹的某个位置,那么欢迎页面中的链接不起作用!它适用于位于“我的文档”之外的项目,但没有指向“我的文档”内部任何内容的链接。

在Windows Vista和Windows 7(64位)上,RAD Studio 2009和RAD Studio 2010都出现了这个问题。

我尝试以管理员身份运行IDE以查看它是否有效,但事实并非如此。我认为它必须与IE安全设置有关。

有什么想法吗?

由于

修改

我注意到问题是由于其中包含单引号(')字符的路径引起的。所以,如果我有“C:\ John的文件夹\ Project.dproj”,它将无法正常工作;但如果我有“C:\ John folder \ Project.dproj”,它就可以了。

现在的问题是,如何使用包含单引号字符的路径?我尝试将projectLoader.js中的openFileLink()更改为:

function openFileLink(fileName)
{
    try {
        external.Application.OpenFile(filename.replaceAll("'","\\'"));
    } catch(e) {
        debugAlert("openFileLink: " + e.message);
    }
}

但这样做会使openFileLink()根本不起作用,即使对于没有单引号字符的路径也是如此。

4 个答案:

答案 0 :(得分:1)

对我来说,它对“我的文档”文件夹中的项目有效。

在异常块中调用open命令,当发生异常时,单击不执行任何操作。我的建议是你修补$(BDS)\ Welcomepage \ js \ projectLoader.js进行测试以显示异常。

步骤:

  • 打开projectLoader.js
  • 查找openFileLink函数
  • 查看debugAlert并将其更改为alert
  • save projectLoader.js
  • 启动RAD Studio 2010
  • 点击“最近打开的项目”页面上的“我的文档”链接,然后查看警报消息对话框


$(BDS)是您的RAD Studio 2010路径

修改
我可以重复单引号问题并解决这个问题,你可以补丁 $(BDS)\ Welcomepage \ XSL \ rssProjects.xsl。在其中查找replaceBackslash并将其替换为

        function replaceBackslash(path) {
            var fixedFileName;
            fixedFileName = path.replace(/\\/gi, '\\\\');
            fixedFileName = fixedFileName.replace("'", "\\'");
            return fixedFileName;
        }

请为此问题创建质量控制报告。

答案 1 :(得分:0)

像我所宣传的那样工作......
只是为了确认(D2010,Win7x64):

  • 创建了一个新的VCL表单应用程序
  • 将其保存在Documents(不再是我的文档,在win7中)
  • 全部关闭
  • 欢迎页面上有第一个:
    ØPestWelcomePage.dproj(让我感兴趣)
    位置: C:\ Users \ MeUser \ Documents \ PTestWelcomePage.dproj
    个性: Delphi
  • 点击它
  • 它打开了

答案 2 :(得分:0)

在项目的完整路径超出特定长度之前,我遇到了欢迎页面的问题。 IIRC路径被杂乱,中间有一些椭圆(如显示),导致打开时出错。

QC48788

答案 3 :(得分:0)

在您的注册表数据库中检查密钥HKEY_CURRENT_USER\Software\CodeGear\BDS\7.0\Closed Projects7.0代表D2010,将其更改为6.0 D2009)以查看Delphi存储的路径。

如果您不创建那么多新项目,则可以手动修复项目的路径。否则,你必须找出存储损坏路径的原因。

我已经目睹了文件路径与通过Windows 7“库”(例如“文档”库)访问的文件之间的奇怪交互: 在某些情况下,如果我通过手动浏览“C:\ Users \ MyName \ Documents \ file”而不是单击“文档”库中的文件来选择文件,则程序将无法检测对话框中所选文件的相同路径左,并选择相同的文件。