Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Wechsel ItemList in SynCompletionProposal zur Laufzeit? (https://www.delphipraxis.net/59826-wechsel-itemlist-syncompletionproposal-zur-laufzeit.html)

hincapie 29. Dez 2005 09:14


Wechsel ItemList in SynCompletionProposal zur Laufzeit?
 
Also, ich weise SynCompletionProposal eine Liste mit PHP-Befehlen zu, und aktiviere mit SynEdit.OnChange die Kompletierung (SynCompletionProposal1.ActivateCompletion).
Jetzt möchte ich aber bei der Eingabe des $-Zeichens alle Variablen aus dem SynEdit in die SynCompletionProposal1.ItemList einfügen.

Delphi-Quellcode:
procedure TEditForm.SynEdit1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = Ord('4')) and (Shift = [ssShift]) and (ExtractFileExt(PathName) = '.php') and (code = true) then
  begin
    //code := false;
    ShowMessage('taste $ gedrückt');
    ScanPHPTokens;
    //code := True;
      SynCompletionProposal1.CancelCompletion;
      SynCompletionProposal1.ItemList.Clear;
      SynCompletionProposal1.ItemList.AddStrings(PHPVars);
      SynCompletionProposal1.ResetAssignedList;
      SynCompletionProposal1.ActivateCompletion;
    Key := 0;
  end
end;
Im OnChange von SynEdit1 steht noch folgendes:
Delphi-Quellcode:
  if code then SynCompletionProposal1.ActivateCompletion;
wenn ich (code = true) weglasse und code von Hand setze, funktioniert es,
so aber nicht.

Hat schon mal jemand eine solche Funktion in seinem Programm eingebaut?

P.S: ScanPHPTokens sorgt dafür, dass die StringList PHPVars mit allen PHP-Variablen gefüllt wird.

jim_raynor 29. Dez 2005 10:24

Re: Wechsel ItemList in SynCompletionProposal zur Laufzeit?
 
Die Frage ist doch, wann code auf true/false gesetzt wird. Vermutlich ist doch dort irgendwo der Fehler.

hincapie 29. Dez 2005 10:44

Re: Wechsel ItemList in SynCompletionProposal zur Laufzeit?
 
Ganz einfach, ich habe einen Button im Programm, mit dem die CodeCompletion an und abgeschaltet werden kann.
Der macht auch nichts anderes als code auf true oder false zu schalten und bei true eben SynCompletionProposal1.ActivateCompletion auszuführen.

jim_raynor 29. Dez 2005 11:05

Re: Wechsel ItemList in SynCompletionProposal zur Laufzeit?
 
Aber anscheinend stimmt doch genau dort etwas nicht.


Zitat:

Zitat von hincapie
wenn ich (code = true) weglasse und code von Hand setze, funktioniert es,
so aber nicht.

Ergo dürfte an dieser Stelle code <> true sein, wenn du sagst, dass es ohne die Abfrage auf code funktioniert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:37 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz