procedure TADODM.DataModuleCreate(Sender: TObject);
begin if login.s='A工厂'then
begin;
xconn.ConnectionString:='.....';
xconn.Connected:=true; end; if login.s='B工厂' then
begin; xconn.ConnectionString:='........';
xconn.Connected:=true; end;
end;
以上是想动态控制一DataModule里的ADOCONECTION的数据库连,其中login.s是一个LOGIN窗体里第一的一个全局变量。在其他窗体都能调用这个LOGIN.S,但就是在这个
DataModule里,上述代码不能执行,请问怎么解决?
begin if login.s='A工厂'then
begin;
xconn.ConnectionString:='.....';
xconn.Connected:=true; end; if login.s='B工厂' then
begin; xconn.ConnectionString:='........';
xconn.Connected:=true; end;
end;
以上是想动态控制一DataModule里的ADOCONECTION的数据库连,其中login.s是一个LOGIN窗体里第一的一个全局变量。在其他窗体都能调用这个LOGIN.S,但就是在这个
DataModule里,上述代码不能执行,请问怎么解决?
ShowMessage('b');procedure TADODM.DataModuleCreate(Sender: TObject);
begin
ShowMessage('a');看看谁先执行了?~~
begin
ShowMessage('a');在这里加上ShowMessage('a');,编译都通过不了。楼上的兄弟再帮忙看看,提示如下错误
[Error] Unit1.pas(39): Undeclared identifier: 'showmessage'
implementationuses Dialogs;
//...
你说的对,我测试了,
ShowMessage('a');先出来,也就是说在login.s赋值之前就执行了该语句
那怎样解决呢?
program Project1;
//....
begin
Application.Initialize;
{ TODO : 登录在Application.CreateForm(TADODM, ADODM)之前调用 }
Application.CreateForm(?, ?);
Application.CreateForm(TADODM, ADODM);
Application.Run;
end.//方法2
把代码移到login.s赋值后的地方
可惜我没分给你了,请原谅。我也不知道我现在为什么没给分的权利