![]() |
FindComponent: Was ist falsch?
Ich benutze zum ersten mal FindComponent. Ich habe mir den folgenden NBefehl mit den Ergebnissen der Suchenfunktion zusammengebastelt:
Delphi-Quellcode:
Kurze erklärung: Die Funktion StringtoHighlighterCpName liefert eine Variable des Typs TComponentName und enthält die anztusperchende Compo. Also z.B.: SynHTMLSyn1
with TSynCustomHighlighter(FindComponent(MainForm.StringToHighlighterCpName(HighlighterCombo.Text)).Attribute[AttriList.ItemIndex] do
AttriList ist 'ne ListBox, in der alle Attribute aufgelistet sind. Achso nochwas: Dieser Befehl wird auf dem Formular mit dem Namen confForm ausgeführt, die Highlighter liegen auf dem Form MainForm. |
Re: FindComponent: Was ist falsch?
Probier mal das hier:
Delphi-Quellcode:
with TSynCustomHighlighter(MainForm.FindComponent(MainForm.StringToHighlighterCpName(HighlighterCombo.Text)).Attribute[AttriList.ItemIndex] do
|
Re: FindComponent: Was ist falsch?
Der olle will immernochnicht!
Ich bekomme jetzt den Fehler Undeclared Identifier 'TSynCustomHighlighter' und Undeclared Identifier 'Attribute' |
Re: FindComponent: Was ist falsch?
Vielleicht fehlt eine Unit?
|
Re: FindComponent: Was ist falsch?
Delphi-Quellcode:
Alles da!
uses Umain, Udoc;
|
Re: FindComponent: Was ist falsch?
Wie wärs, wenn du die SynEdit-Units einbindest ?
uses SynEdit, SynHighlighter, ... |
Re: FindComponent: Was ist falsch?
Vielleicht so was wie:
Delphi-Quellcode:
with
(MainForm.FindComponent(MainForm.StringToHighlighterCpName(HighlighterCombo.Text)) as TSynCustomHighlighter) do |
Re: FindComponent: Was ist falsch?
Also es geht jetzt. Die Lösung ist aus meiner Sicht zwar total bescheuert und ich verstehe nicht, warum sie funzt, aber es geht nunmal.
Ich habe nichts weiter getan, als eine Procedure in der Unit vom MainForm zu schreiben, da alles reinzukopieren und noch die Kleinigkeiten anzupassen (also MainForm und confForm zu setzen):
Delphi-Quellcode:
Und diese Prozedur rufe ich jetzt eben vom confFrom aus auf...
with TSynCustomHighlighter(FindComponent(StringToHighlighterCpName(ConfForm.HighlighterCombo.Text))).Attribute[confForm.AttriList.ItemIndex] do
Trotzdem vielen Dank für eure Ideen, Spider hat mich mit den Units auf die Idee gebracht... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz