请看一下:
unit datamodule1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables;type
Tdatamodule = class(TForm)
database: TDatabase;
q_login: TQuery;
private
{ Private declarations }
public
{ Public declarations }
function login:boolean;
procedure loginout;
end;var
datamodule: Tdatamodule;implementation
uses f_main,login;{$R *.dfm}
function login:boolean;
var server,user,passwd:string; begin
result:=false;
if getloginparams(server,user,passwd) then
begin
with database do
begin
connected:=false;
params.values['server name']:=server;
params.values['user name']:='login';
params.values['password']:='qingniao';
connected:=true;
end;
with q_login do
begin
params.paramvalues['user']:=user;
params.paramvalues['passwd']:=passwd;
open;
Result:=(RecordCount=1) and (FieldValues['COUNT']=1);
end;
if result then
with database1 do
begin
connected:=false;
params.values['user name']:='mater';
params.values['password']:='qingniao';
connected:=true;
end;
end;
end; procedure loginout;
begin
with database1 do
begin
connected:=false;
params.values['user name']:='';
params.values['password']:='';
flogin.i_user.text:='';
flogin.i_passwd.text:='';
end;
end;
该单元是一个数据模块。错误提示如下:
[Error] datamodule1.pas(35): Undeclared identifier: 'database'
[Error] datamodule1.pas(37): Undeclared identifier: 'connected'
[Error] datamodule1.pas(38): Undeclared identifier: 'params'
[Error] datamodule1.pas(43): Undeclared identifier: 'q_login'
[Error] datamodule1.pas(47): Undeclared identifier: 'open'
unit datamodule1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, DB, DBTables;type
Tdatamodule = class(TForm)
database: TDatabase;
q_login: TQuery;
private
{ Private declarations }
public
{ Public declarations }
function login:boolean;
procedure loginout;
end;var
datamodule: Tdatamodule;implementation
uses f_main,login;{$R *.dfm}
function login:boolean;
var server,user,passwd:string; begin
result:=false;
if getloginparams(server,user,passwd) then
begin
with database do
begin
connected:=false;
params.values['server name']:=server;
params.values['user name']:='login';
params.values['password']:='qingniao';
connected:=true;
end;
with q_login do
begin
params.paramvalues['user']:=user;
params.paramvalues['passwd']:=passwd;
open;
Result:=(RecordCount=1) and (FieldValues['COUNT']=1);
end;
if result then
with database1 do
begin
connected:=false;
params.values['user name']:='mater';
params.values['password']:='qingniao';
connected:=true;
end;
end;
end; procedure loginout;
begin
with database1 do
begin
connected:=false;
params.values['user name']:='';
params.values['password']:='';
flogin.i_user.text:='';
flogin.i_passwd.text:='';
end;
end;
该单元是一个数据模块。错误提示如下:
[Error] datamodule1.pas(35): Undeclared identifier: 'database'
[Error] datamodule1.pas(37): Undeclared identifier: 'connected'
[Error] datamodule1.pas(38): Undeclared identifier: 'params'
[Error] datamodule1.pas(43): Undeclared identifier: 'q_login'
[Error] datamodule1.pas(47): Undeclared identifier: 'open'
解决方案 »
- 又来:Too many actual parameters
- 高手帮忙!对VCD CD 光盘无法制作成iso 求nrg 镜像的制作方法?不用其它软件想代码实现?
- file not found :'inspectorBar.dcu'
- 谁能讲讲stringlist吗?
- 救助一个很菜的窗体问题!
- 翻遍论坛没找到解决方案!如何获得Access表字段的Caption属性?
- 郁闷死了
- 关于用Delphi开发的程序打包问题?
- 问题:如何实现ClientSocket连接多个ServerSocket??
- 难题:c#调用delphi dll问题(dll传值为ansistring型)!!
- 关于dbgrid的问题
- 请各位帮帮忙
function Tdatamodule.login:boolean;//加上Tdatamodule.
function Tdatamodule.login:boolean;//加上Tdatamodule.
应该是这样的。
var
fmain: Tfmain;implementation
uses datamodule1;{$R *.dfm}procedure Tfmain.t_loginClick(Sender: TObject);
begin
if datamodule1.login then
begin
statusbar1.simpletext:='已经连接到服务器';
m_maneger.enabled:=true;
t_buy.enabled:=true;
t_sale.enabled:=true;
t_store.enabled:=true;
t_maintain.enabled:=true;
t_login.enabled:=false;
end;
end;procedure Tfmain.t_loginoutClick(Sender: TObject);
begin
datamodule1.loginout;
end;end.[Error] f_main.pas(50): Undeclared identifier: 'login'
[Error] f_main.pas(65): Undeclared identifier: 'loginout'
但是我觉得使用外部函数,容易增加软件的耦合度!~~~