Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi FindComponent: Was ist falsch? (https://www.delphipraxis.net/21391-findcomponent-ist-falsch.html)

yankee 2. Mai 2004 08:03


FindComponent: Was ist falsch?
 
Ich benutze zum ersten mal FindComponent. Ich habe mir den folgenden NBefehl mit den Ergebnissen der Suchenfunktion zusammengebastelt:
Delphi-Quellcode:
with TSynCustomHighlighter(FindComponent(MainForm.StringToHighlighterCpName(HighlighterCombo.Text)).Attribute[AttriList.ItemIndex] do
Kurze erklärung: Die Funktion StringtoHighlighterCpName liefert eine Variable des Typs TComponentName und enthält die anztusperchende Compo. Also z.B.: SynHTMLSyn1
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.

alcaeus 2. Mai 2004 08:14

Re: FindComponent: Was ist falsch?
 
Probier mal das hier:
Delphi-Quellcode:
with TSynCustomHighlighter(MainForm.FindComponent(MainForm.StringToHighlighterCpName(HighlighterCombo.Text)).Attribute[AttriList.ItemIndex] do

yankee 2. Mai 2004 09:33

Re: FindComponent: Was ist falsch?
 
Der olle will immernochnicht!
Ich bekomme jetzt den Fehler
Undeclared Identifier 'TSynCustomHighlighter'
und
Undeclared Identifier 'Attribute'

Die Muhkuh 2. Mai 2004 09:34

Re: FindComponent: Was ist falsch?
 
Vielleicht fehlt eine Unit?

yankee 2. Mai 2004 09:42

Re: FindComponent: Was ist falsch?
 
Delphi-Quellcode:
uses Umain, Udoc;
Alles da!

rebugger 2. Mai 2004 09:47

Re: FindComponent: Was ist falsch?
 
Wie wärs, wenn du die SynEdit-Units einbindest ?
uses SynEdit, SynHighlighter, ...

fred.reichbier 2. Mai 2004 10:18

Re: FindComponent: Was ist falsch?
 
Vielleicht so was wie:
Delphi-Quellcode:
with
(MainForm.FindComponent(MainForm.StringToHighlighterCpName(HighlighterCombo.Text)) as TSynCustomHighlighter)
do

yankee 2. Mai 2004 10:30

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:
with TSynCustomHighlighter(FindComponent(StringToHighlighterCpName(ConfForm.HighlighterCombo.Text))).Attribute[confForm.AttriList.ItemIndex] do
Und diese Prozedur rufe ich jetzt eben vom confFrom aus auf...

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 19:35 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