第1步: 建了一个新工程。
第2步: File--> New--> Data Module
第3步: 在Unit2的 public { Public declarations } 下加了一行.
one: String; //我加的。
第4步:双击主窗体,在TForm1.FormCreate中加入DataModule2.one := '';
结果运行错误,
指向:Application.CreateForm(TDataModule2, DataModule2);此行错。而且DataModule2.敲入以后谈不出选择菜单。是怎么回事,我初学.希望大家帮我解决。我随时与大家交流,谢了!
第2步: File--> New--> Data Module
第3步: 在Unit2的 public { Public declarations } 下加了一行.
one: String; //我加的。
第4步:双击主窗体,在TForm1.FormCreate中加入DataModule2.one := '';
结果运行错误,
指向:Application.CreateForm(TDataModule2, DataModule2);此行错。而且DataModule2.敲入以后谈不出选择菜单。是怎么回事,我初学.希望大家帮我解决。我随时与大家交流,谢了!
Application.CreateForm(TDataModule2, DataModule2);
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Unit2;type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;var
Form1: TForm1;implementation
{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
begin
ControlModule.one:= '';
end;end.unit Unit2;interfaceuses
SysUtils, Classes;type
TControlModule = class(TDataModule)
private
{ Private declarations }
public
{ Public declarations }
one: String;
end;var
ControlModule: TControlModule;implementation{$R *.dfm}end.program Project2;uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
Unit2 in 'Unit2.pas' {ControlModule: TDataModule};{$R *.res}begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TControlModule, ControlModule);
Application.Run;
end.
然后Application.CreateForm(TControlModule, ControlModule);蓝显
这句加在了什么事件里?
不是在工程文件里
呵呵,讲那么多干嘛:
把
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TControlModule, ControlModule);
换过来
Application.CreateForm(TControlModule, ControlModule);
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm1, Form1);
Application.Run;
把Application.CreateForm(TControlModule, ControlModule);
剪切到form1.create事件里
放到ControlModule.one:= '';前面
Application.CreateForm(TControlModule, ControlModule);改为:
Application.CreateForm(TControlModule, ControlModule);
Application.CreateForm(TForm1, Form1);因为要先创建后引用。
我试过了,一定行的。
1、one 可以在DataModuleOnCreate中赋值
2、补充第一点,Delphi中变量不需要初始化
3、补充第二点,Delphi中变量最好不要初始化
DataModule还没创建怎么就引用呢???Application.CreateForm(TControlModule, ControlModule);
Application.CreateForm(TForm1, Form1);