[Lazarus] After using TSynCompletion, the SynEdit dont want to write the first Char, but after the first Char all works
Martin Friebe
lazarus at mfriebe.de
Tue Nov 11 01:20:15 CET 2008
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
Eugen Bolz wrote:
> Brad Campbell wrote:
>
>> Can you put together a simple program and upload it somewhere to demonstrate the fault?
>>
>>
> http://eugen-bolz.de/syncompletion.zip
>
> I have tested it again, it only dont works when SPACE is pressed, other
> CHARS are working.
>
> Select one Item, after that press SPACE and the SPACE-Char dont get
> added , only on second press it will be added.
>
> Also i have an other Question
> If i type 's' instead of 'S' the SynCompletionForm dont reacts, how can
> deactivate the Case-Sensitive? or to do a workaround that this
> SynCompletion works like in the IDE
>
> I hope it is understandable :)
> _______________________________________________
> Lazarus mailing list
> Lazarus at lazarus.freepascal.org
> http://www.lazarus.freepascal.org/mailman/listinfo/lazarus
>
More information about the Lazarus
mailing list