第一次点击没问题,再点击一次按钮会运行2次。procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if ClientDataSet1.Active then ClientDataSet1.Active :=not ClientDataSet1.Active;
ClientDataSet1.Active :=true;
end;
如果所输入的名字与密码不对,第一次点击时弹出对话框一次,不做任何修改点,这时会弹出二次对话框.单步执行发现第二次点击时运行到
ClientDataSet1.Active :=not ClientDataSet1.Active;
也去执行aftergetrecords及BeforeGetRecords这二个事件?怎么办?
在aftergetrecords及BeforeGetRecords里有这样写procedure TForm1.ClientDataSet1BeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData:= VARARRAYOF([EDIT1.TEXT,EDIT2.TEXT]);
end;procedure TForm1.ClientDataSet1AfterGetRecords(Sender: TObject;
var OwnerData: OleVariant);
begin
If OwnerData[0]=False then
showmessage('昵称或密码不对!')
Else Begin
showmessage('哦,对了!')
End;
end;
begin
if ClientDataSet1.Active then ClientDataSet1.Active :=not ClientDataSet1.Active;
ClientDataSet1.Active :=true;
end;
如果所输入的名字与密码不对,第一次点击时弹出对话框一次,不做任何修改点,这时会弹出二次对话框.单步执行发现第二次点击时运行到
ClientDataSet1.Active :=not ClientDataSet1.Active;
也去执行aftergetrecords及BeforeGetRecords这二个事件?怎么办?
在aftergetrecords及BeforeGetRecords里有这样写procedure TForm1.ClientDataSet1BeforeGetRecords(Sender: TObject;
var OwnerData: OleVariant);
begin
OwnerData:= VARARRAYOF([EDIT1.TEXT,EDIT2.TEXT]);
end;procedure TForm1.ClientDataSet1AfterGetRecords(Sender: TObject;
var OwnerData: OleVariant);
begin
If OwnerData[0]=False then
showmessage('昵称或密码不对!')
Else Begin
showmessage('哦,对了!')
End;
end;
解决方案 »
- 关注:模块级变量异常报错求解,在线等待!
- maimenu的小问题.
- 用Graphics::TBitmap *tmp=new Graphics::TBitmap()生成的位图它的宽高太大会出现内存不足的提示,有办法解决吗?
- 数据导出到word如何自动解决word版本问题
- 我不会载入SRport控件啊!怎么办?
- 高分求一特殊的string排序算法!
- 图像显示控件。
- 用delphi写程序怎么自动压缩一个目录
- ado连接的问题,高分给!!
- Access 数据导出成文件,然后导入到sql server 中,数据量比较大,如何实现
- 如何赋值,简单问题
- 怎样在程序中确定数据库中有没有某个表?(用ADOquery或其他)
if ClientDataSet1.Active then ClientDataSet1.Active :=False;
ClientDataSet1.Active :=true;
end;干吗不这么写?