Delphi调试输出文件夹属性

时间:2015-07-22 18:55:56

标签: delphi windows-7 attributes delphi-xe8

我试图找出如何在delphi构建项目时创建的文件夹上设置默认属性。我所有的谷歌搜索都没有提供答案。

例如:

假设我在C:\MyProject\myProject.dpr有一个delphi项目。当我构建这个项目时,Delphi将创建C:\MyProject\Win32\Debug\个文件夹。 Win32\Debug\个文件夹来自Tools - Options - Environment Options - Delphi Options - Debug DCU Path

问题是创建的Debug文件夹delphi是否选中了Read-Only属性。如果该文件夹是只读的,我会经常出现构建错误,例如:

[fatal error] could not create output file C:\MyProject\myProject.exe

如果我手动取消选中Read-Only属性,我可以很好地构建我的项目。

SO上的任何人都知道如何告诉Delphi创建这个文件夹而不是只读吗?

(我使用的是Delphi XE8,但我相信这适用于所有版本和Windows 7专业版)

2 个答案:

答案 0 :(得分:1)

通过调用将CreateDirectory作为NULL参数传递给lpSecurityAttributes的{​​{1}}来创建文件夹。据记载,这意味着:

  

如果lpSecurityAttributes为NULL,则该目录将获取默认安全描述符。目录的默认安全描述符中的ACL从其父目录继承。

换句话说,安全设置是从父级继承的。您可以通过使其父级可写来使此目录可写。

答案 1 :(得分:0)

您无法控制文件夹的创建方式。没有选项可以指定所需的属性。但是,您可以尝试使用Pre-Build event执行命令行脚本,该脚本在编译开始之前手动更改文件夹属性。