我已经在互联网上下载了Delphi项目并且我想使用它,但是存在一个问题:下载的软件包包含一个带有dpr扩展名的文件,但如果我双击它在打开的Delphi中我可以看到源代码,但是设计缺失了,因此,我无法修改例如windows属性。在Delphi项目中至少有两个选项卡:让我们将它们命名为Unit1和Project1,但这里仅在选项卡上标注源代码。此外,在一个classicaly创建的项目中,源代码会出现在一个pas文件中,但是这里是dpr文件。我试图找到一种方法来导入其内容,但一无所获。因此,如果有人可以告诉如何将此dpr文件转换为具有calssical结构的Delphi项目,请告诉我。 非常感谢。
答案 0 :(得分:4)
我已经下载了这个项目。它不是VCL项目,它是使用OpenGL的基于WinAPI的程序。
一些帮助非VCL Delphi编码的链接:
Creating forms without using vcl
A guide to developing Delphi programs in Windows API
答案 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文件与表单有任何关系。您可以通过检查内容是否有效来判断,但不仅仅是扩展名。