Martin Friebe schrieb: > Hi, > > I haven't fully investigated this, put it may be related to the fact > that you install some custom onKeyPressed stuff. > > The original procedure TSynCompletion.EditorKeyPress(Sender: TObject; > var Key: char); > does: > if TRecordUsedToStoreEachEditorVars(fEditstuffs[i]^).NoNextKey then > begin > key := #0; > TRecordUsedToStoreEachEditorVars(fEditstuffs[i]^).NoNextKey := false; > end; > > This procedure is still installed in Synedits OnKeyPress. So in theory > any first key, after completion is skipped > > In Praxis, due to what is a likely bug (but different bug) in Synedit: > only spaces, upper-case chars and some punctuation is ignored. > In your example they are also ignored, if you finish completion, add > some lower case, and then try space or upper-case. > > I have not tested, but you may get round the issue, by removing the > OnKeyPressed from Synedit, after SynCompletition did install it. > The better option is to find out, how to get SynCompletition to properly > finish. > > Best Regards > Martin
Thank you, now it works with this Workaround, procedure TForm1.ccExecute(Sender: TObject); begin if FLastKeyPress <> nil then begin SynEdit1.OnKeyPress:= FLastKeyPress; end; end; procedure TForm1.SetFocusAll; begin SetFocus; SynEdit1.SetFocus; FLastKeyPress:=SynEdit1.OnKeyPress; SynEdit1.OnKeyPress:=nil; end; but i have an other problems with SynCompletion , too in the IDE i can type a 'c' or 'C' to select an item like 'Create', with the Normal SynCompletion i have to use 'C' to select 'Create', someone know something about this? Best Regards, Eugen _______________________________________________ Lazarus mailing list Lazarus@lazarus.freepascal.org http://www.lazarus.freepascal.org/mailman/listinfo/lazarus