2012-03-18 85 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」。