代码之家  ›  专栏  ›  技术社区  ›  vcldeveloper

rad studio欢迎页面中的项目链接不起作用

  •  0
  • vcldeveloper  · 技术社区  · 14 年前

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

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

    有一段时间我在RADStudio2009和RADStudio2010的WindowsVista和Windows7(64位)上都遇到了这个问题。

    我试着以管理员的身份运行IDE,看它是否工作,但没有。我想它一定是与IE安全设置相关的东西。

    有什么想法吗?

    谢谢

    编辑:

    我注意到问题是由路径中有单引号(“)字符引起的。因此,如果我有“c:\john's folder\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 回复  |  直到 14 年前
        1
  •  1
  •   Uwe Schuster    14 年前

    对于“我的文档”文件夹中的项目,它确实能按预期工作。

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

    步骤:

    • 打开projectloader.js
    • 查找openfilelink函数
    • 在里面寻找debugalert并将其更改为alert
    • 保存projectloader.js
    • 启动RAD Studio 2010
    • 单击“最近打开的项目”页面上的“我的文档”链接,然后查看警报消息对话框。


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

    编辑
    我可以重复单引号的问题,为了解决这个问题,你可以修补 $(bds)\welcomepage\xsl\rssprojects.xsl。查找它以替换反斜杠并将其替换为

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

    请为该问题创建一个质量控制报告。

        2
  •  0
  •   Francesca    14 年前

    为我做广告…
    仅需确认(D2010,Win7x64):

    • 创建了新的VCL表单应用程序
    • 保存在文档下(在Win7中不再是我的文档)
    • 全部关闭
    • 在欢迎页面的第一页:
      _ptestwelcomepage.dproj(让我成为最爱)
      地点: C:\users\meuser\documents\ptestwelcomepage.dproj项目
      人格: 德尔菲
    • 点击它
    • 它打开了
        3
  •  0
  •   Uwe Raabe    14 年前

    当项目的完整路径超过特定长度时,我以前遇到过类似的欢迎页面问题。IIRC路径之间被一些省略号扰乱(例如用于显示),导致打开时出错。

    QC48788

        4
  •  0
  •   LeGEC    14 年前

    去你的注册表数据库检查这个键 HKEY_CURRENT_USER\Software\CodeGear\BDS\7.0\Closed Projects ( 7.0 代表D2010,改为 6.0 对于d2009)查看delphi存储的路径。

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

    我已经看到了文件路径和通过Windows7“库”(如“文档”库)访问的文件之间的奇怪交互: 在某些情况下,如果我通过手动浏览“c:\users\myname\documents\file”而不是单击左侧的“documents”库并选择相同的文件来选择文件,程序将不会检测到对话框中所选文件的相同路径。