2012-03-18 87 views

回答

4

我们有同样的问题。从D2006升级到D2010后出现此错误。

问题是DBGrids.pas:

procedure TCustomDBGrid.WMKillFocus(var Message: TMessage); 
begin 
    ImeName := Screen.DefaultIme; 
    ImeMode := imDontCare; 
    inherited; 
    if not ((InplaceEditor <> nil) and 
    (HWND(Message.WParam) = InplaceEditor.Handle)) then 
    ActivateKeyboardLayout(Screen.DefaultKbLayout, KLF_ACTIVATE); 
end; 

我不知道为什么Borland公司/ Embarcadero公司补充说: “如果块” 继承后。更改会导致将键盘布局切换回默认值。我们必须将DBGrids复制到我们的项目并删除“if block”。