我应该在哪里设置{$ STRINGCHECKS OFF}之类的编译器选项?

时间:2009-02-12 18:09:20

标签: delphi

如果我将它放在.dpr或任何其他单位中,它会被全局考虑吗?

4 个答案:

答案 0 :(得分:5)

我不这么认为。 IIRC规则是dpr或unit中的任何内容都是该文件的本地内容。如果你将它放入项目选项(在条件下),那么它是全局的。许多作家将这些内容放入文本文件中,然后在每个单元的顶部执行{$ I MyConditionals.txt}。

答案 1 :(得分:5)

项目 - >选项 - > Delphi编译器 - >代码生成,将“字符串格式检查”设置为OFF。

答案 2 :(得分:3)

某些编译器指令的范围与其他指令不同。有些会影响整个应用程序,有些只影响它们所放置的单元,有些只影响它们所在的代码。例如,

{$WARNINGS OFF}  // Turn off warning messages from compiler
procedure SomeProcedureThatHasAnAsmBlock;
begin
  asm
    // Some assembler code that generates warnings, but
    // that you know is actually right. These warnings
    // are usually like "expression always evaluates to false"
    // or something like that.
  end;
end;
{$WARNINGS ON}   // Turn warnings back on for other code

由于{$ STRINGCHECKS}没有记录(至少在我拥有的D2009帮助文件的版本中),很难知道它的范围是什么。 CodeGear的Barry Kelly有时会在这里,他在编译器本身工作;也许他会徘徊,并能够帮助。

答案 3 :(得分:2)

IIRC您可以在“项目选项”窗口中全局关闭它。