我可以在Console Delphi应用程序中使用DataModule吗?

Pep*_*Pep 4 delphi

我可以在Console Delphi应用程序中使用DataModule表单吗?

我尝试将现有的单元/表单包含在uses子句中的控制台Delphi应用程序中,但DataModule1被解析为nil(未初始化).

Pep*_*Pep 8

刚想通过查看Form应用程序,我只需要手动进行初始化:

Application.CreateForm(TDataModule1, DataModule1);
Run Code Online (Sandbox Code Playgroud)

UPDATE

正如评论中所建议的那样,我最终实施了:

DataModule1 := TDataModule1.Create(nil)
Run Code Online (Sandbox Code Playgroud)

  • 我个人不喜欢依赖.dpr文件来做这件事.将该代码添加到数据模块单元的初始化部分.这使得该单位自成一体.我认为没有理由使用`Application.CreateForm`.只需调用构造函数`DataModule1:= TDataModule1.Create(Application)`. (6认同)
  • @ David,@ Jerry我们不需要涉及`Application`对象.简单的`DataModule1:= TDataModule1.Create(nil)`当你完成它的时候`DataModule1.Free`. (2认同)