如何在不安装IDE的情况下编译并运行此Delphi代码?

据说生成一个winform:

var
  F : TForm;
  L : TLabel;
begin
  F := TForm.Create(Application);
  L := TLabel.Create(F);
  L.Parent := F; // Needed to have it show up on the form.
  L.Left := 50;
  L.Top := 50;
  L.Caption := 'This is an example';
  F.Show;
end;

事实上,这是我以前的问题。

如果是C程序,我可以这样运行它:

> gcc foo.c -o foo.exe
> foo.exe

在Delphi中我怎样才能做到这一点?


为了编译Delphi代码,你需要一个编译器。 Delphi没有免费的版本,除非你能找到一个旧的版本,否则你不得不购买Delphi。 Delphi带有一个像gcc这样的命令行编译器,并且可以在没有IDE的情况下编译程序。

德尔福2006年和win32之前:

dcc32 YourProject.dpr

Delphi 2006和之前的.Net:

dccil YourProject.dpr

德尔福2007年及之后:

msbuild YourProject.dproj

这将导致一个编译的二进制文件,如果是EXE,你可以像你习惯的那样运行它。

德尔福有免费的替代产品,如FreePascal和他们的免费IDE Lazarus。 我没有检查过自己,但我很确定它也带有一个命令行编译器。


您应该将此代码写入DPR文件。 DPR文件的一般结构如下所示:

program {ProgramName};

uses {List of used units};

begin
  {Your code}
end.

所以对于上面的代码你的DPR文件将是这样的:

program Project1;

uses
  Forms, StdCtrls;

var
  F : TForm;
  L : TLabel;
begin
  F := TForm.Create(nil);
  try
    L := TLabel.Create(F);
    L.Parent := F; // Needed to have it show up on the form.
    L.Left := 50;
    L.Top := 50;
    L.Caption := 'This is an example';
    F.ShowModal;
  finally
    F.Free;
  end;
end.

您可以在文本编辑器中键入此代码,并将其保存为Project1.dpr。

现在你可以使用Delphi的命令行编译器来编译它:

dcc32.exe Project1.dpr


更简单,公正

dcc32 "name of the project"

即使程序存在10个单元之外,编译器也会自动解析它(如果在当前单元的搜索路径中)(请参阅dcc32.cfg,或者使用-U和-I添加目录)。 请注意,Delphi的某些“免费”资源管理器版本不带有cmdline编译器。

对于.NET,它是dccil。

当然,如果你与gcc比较,Free Pascal / Lazarus是更合理的选择(但不适用于.NET)。

链接地址: http://www.djcxy.com/p/59653.html

上一篇: How to compile and run this Delphi code without installing an IDE?

下一篇: Logging exceptions thrown by message listeners for Spring AMQP