菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
180
0

gridEh的bug

原创
05/13 14:22
阅读数 68788

grideh的bug,delphi和c++builder都存在。

RAD自带的原始grid控件是好的。

 

procedure TForm12.DBGridEh2ColExit(Sender: TObject);
begin
  if DBGridEh2.SelectedField.FieldName = 't2' then
    Button1.Click();
end;

procedure TForm12.Button1Click(Sender: TObject);
begin
  FDMemTable1.Append;
  FDMemTable1.Fields.Fields[0].Value := 1;
  ShowMessage('wait');
end;

wait对话框关闭前,没有新纪录出现

 

fix  解决方法,用timer延迟调用或线程。

procedure TForm12.DBGridEh1ColExit(Sender: TObject);
begin
  if DBGridEh1.SelectedField.FieldName = 't2' then
    TThread.CreateAnonymousThread(
      procedure()
      begin
        Button1.Click();
      end).Start;

  // Timer1.Enabled := true;
end;

 

 

 

procedure TForm12.Timer1Timer(Sender: TObject);
begin
  Timer1.Enabled := false;
  self.Button1.Click;
end;

 

Timer1.Interal=10;设置很短,感觉不到延迟。

发表评论

0/200
180 点赞
0 评论
收藏