将dpr导入Delphi

时间:2014-07-22 17:45:22

标签: delphi import

我已经在互联网上下载了Delphi项目并且我想使用它,但是存在一个问题:下载的软件包包含一个带有dpr扩展名的文件,但如果我双击它在打开的Delphi中我可以看到源代码,但是设计缺失了,因此,我无法修改例如windows属性。在Delphi项目中至少有两个选项卡:让我们将它们命名为Unit1和Project1,但这里仅在选项卡上标注源代码。此外,在一个classicaly创建的项目中,源代码会出现在一个pas文件中,但是这里是dpr文件。我试图找到一种方法来导入其内容,但一无所获。因此,如果有人可以告诉如何将此dpr文件转换为具有calssical结构的Delphi项目,请告诉我。 非常感谢。

2 个答案:

答案 0 :(得分:4)

我已经下载了这个项目。它不是VCL项目,它是使用OpenGL的基于WinAPI的程序。

一些帮助非VCL Delphi编码的链接:

Creating forms without using vcl

A guide to developing Delphi programs in Windows API

Delphi Without the VCL or the IDE

在这里 - example of VCL application with OpenGL

答案 1 :(得分:2)

.dpr文件是Delphi项目文件。对于普通的VCL或FMX应用程序,IDE使用它来列出项目中的表单,并包含初始化Application类的代码,创建主表单,并通过调用启动程序的执行Application.Run。例如,这是从IDE主菜单使用File-> New-> VCL Forms Application创建的应用程序的shell:

program Project1;

uses
  Vcl.Forms,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

上面告诉IDE它需要包含VCL.Forms单元以及单元Unit1(包含Form1)。它初始化Application,在变量Form1中创建TForm1的实例,该变量成为Application.MainForm,然后启动程序运行。当退出Application.Run时(通常在Form1关闭时发生),应用程序退出。

但是,应用程序不一定必须包含表单,而.dpr可以包含应用程序的所有源代码。以下是Delphi控制台应用程序的示例,该应用程序是单个.dpr文件中的完全包含的程序 - 您可以使用File-> New->其他来自IDE主菜单创建shell,并在Delphi下选择Console Application项目类别。我添加了三行代码(两次调用WriteLn,一次调用ReadLn),以便它可以执行某些操作。您可以将文件保存为Project1.dpr,在任何Delphi IDE中打开它,然后按 F9 运行它以查看它是如何工作的。

program Project1;

{$APPTYPE CONSOLE}

{$R *.res}

uses
  System.SysUtils;

begin
  WriteLn('This is a Delphi console application.');
  WriteLn('Press Enter to quit.');
  ReadLn;
end.

另一种没有与之关联的表单的Delphi项目是Windows服务(File-> New-> Other-> Delphi Projects-> Service Application)。

因此,您无法假设.dpr文件与表单有任何关系。您可以通过检查内容是否有效来判断,但不仅仅是扩展名。