我试图找出如何在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专业版)
答案 0 :(得分:1)
通过调用将CreateDirectory
作为NULL
参数传递给lpSecurityAttributes
的{{1}}来创建文件夹。据记载,这意味着:
如果lpSecurityAttributes为NULL,则该目录将获取默认安全描述符。目录的默认安全描述符中的ACL从其父目录继承。
换句话说,安全设置是从父级继承的。您可以通过使其父级可写来使此目录可写。
答案 1 :(得分:0)
您无法控制文件夹的创建方式。没有选项可以指定所需的属性。但是,您可以尝试使用Pre-Build event执行命令行脚本,该脚本在编译开始之前手动更改文件夹属性。