Delphi编译,没有错误,但是什么也没有发生

Delphi编译,没有错误,但是什么也没有发生,delphi,compiler-errors,Delphi,Compiler Errors,我制作了一个具有多种形式的程序。当我运行程序时,它会编译,但什么也没发生,我留在IDE中 我想这是因为它不知道先显示哪种形式。我已经检查并使我想显示的第一个可见=真,但这并没有改变任何事情 这是项目部分的代码: program Project1 uses forms, SQLUnit in 'SQLUnit.pas', Entrance in 'Entrance.pas', Addpop in 'Addpop.pas', Home in 'Home.pas', Quiz2 in 'Quiz2.p

我制作了一个具有多种形式的程序。当我运行程序时,它会编译,但什么也没发生,我留在IDE中

我想这是因为它不知道先显示哪种形式。我已经检查并使我想显示的第一个可见=真,但这并没有改变任何事情

这是项目部分的代码:

program Project1
uses
forms,
SQLUnit in 'SQLUnit.pas',
Entrance in 'Entrance.pas',
Addpop in 'Addpop.pas',
Home in 'Home.pas',
Quiz2 in 'Quiz2.pas',
Teacher in 'Teacher.pas',
Userclass in 'Userclass.pas',
Stat in 'Stat.pas',
Typesofclasses in 'Typesofclasses.pas',
TimeDisplay in 'TimeDisplay.pas',
Quiz1 in 'Quiz1.pas',
Timetableclass in 'Timetableclass.pas';

{$R *.res}

begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.Run;
end.

我认为这是最相关的,但我不确定。我查了一下,有人遇到了一个非常类似的问题,说他们用auto create解决了这个问题。我试图在我的程序中找到它,但找不到我将在哪里设置它或它在哪里

项目文件至少需要一个Application.CreateForm作为应用程序中的主窗体

program Project1
uses
forms,
SQLUnit in 'SQLUnit.pas',
Entrance in 'Entrance.pas',
Addpop in 'Addpop.pas',
Home in 'Home.pas',
Quiz2 in 'Quiz2.pas',
Teacher in 'Teacher.pas',
Userclass in 'Userclass.pas',
Stat in 'Stat.pas',
Typesofclasses in 'Typesofclasses.pas',
TimeDisplay in 'TimeDisplay.pas',
Quiz1 in 'Quiz1.pas',
Timetableclass in 'Timetableclass.pas';

{$R *.res}

begin
Application.Initialize;
Application.MainFormOnTaskbar := True;
Application.CreateForm(TMainForm, MainForm);
Application.Run;
end.
您只需输入缺少的行或使用Project | Options |表单进行选择


我很好奇,你是如何设法在一开始就以这种方式破坏你的项目的。该单元由Delphi自动构建,在创建全新项目时,默认情况下,创建主窗体应该已经存在。它可能丢失的唯一方法是,如果有人明确删除它,这是合理的,因为我看到缩进和换行也不是默认的。你不应该如此公开地修改这个单元,IDE“拥有”它。@Jerrydoge我根本没有修改过它。缩进是因为我复制并粘贴了它。好吧,堆栈溢出总是很好地保留缩进,而且它也无法从该文件中删除换行符(在
使用
之前)。这个文件肯定被人修改了。在修改过程中,我猜想由于某种原因,
CreateForm
行被删除了。众所周知,试图向该文件添加代码可能会导致IDE对代码进行置乱,需要有人对其进行备份。所以我真的觉得这里遗漏了一些信息,这些信息指出了真正的原因。而且,
表单
没有大写为默认值,所以是的,这已经被修改了。好的,但仍然有很多迹象告诉我是的,肯定有人修改了这个文件。IDE不会将
表单
更改为
表单
,它不会在
使用
之前删除换行符,当然也不会删除主表单的创建。@RosieMurphy:代码看起来不像是IDE直接创建或修改的代码,因此一定有人在该过程中手动编辑了它,可能一个或多个
CreateForm
行也被删除。IDE不会删除空行,不会编写
表单
,也不会这样缩进,也不会删除分号(在
程序项目1
之后)等等。这些代码甚至没有编译。我试图进行自动化处理,但没有可用的表单?项目文件表单中是否显示了任何单元?没有任何单元显示在可用部分或下拉主表单部分。使用project | Add to project添加主表单或创建新表单one@JanLauridsen你最后的评论是错误的建议。什么应该/不应该自动创建取决于需求和设计。在这方面没有硬性规定。至于添加不需要自动创建的表单:严格来说,编译器能够根据它们的位置找到它们。但是,我强烈建议明确添加它们。显式避免了混淆,意味着编译器不必“搜索”。