![]() |
Ungültiger Komponentenname
hi!
Folgendes Problem beschäftigt mich: Ich geb meinen fenstern(Form2) während der Laufzeit verschiedene Namen, die gewissermaßen durch den Anwender bestimmt werden. Jetzt allerdings bekomme ich 'ne Fehlermeldung wenn der Anwender zb bla- eingibt, weil ein '-' anscheinend nicht als Komponenten-name erlaubt ist.. wie kann ich das umgehen/abschalten? Ich dachte da an eine Function die nicht erlaubte Zeichen durch andere ersetzt (und umgekehrt), bloß wie? Im Komponenten-namen scheint nicht viel spielraum zu sein was ASCII-Codes angeht.. cu |
Hallo und herzlich Willkommen im Forum!
Ich versteh Dein problem nicht. Du zeigst jetzt Form2 an. Auf dem zweiten Formular hast Du dann ein Button oder sonst was und setzt z.B. mit folgendem Code die Caption des Formulares. Wie hast Du es denn geschrieben, poste dochmal etwas Code.
Delphi-Quellcode:
Grüsse, Daniel :hi:
procedure TForm2.Button1Click(Sender: TObject);
begin Caption := 'bla-'; end; |
hi!
ich meinte nicht die Caption, sondern den Name der Komponente
Delphi-Quellcode:
Ist das Problem jetzt klar? Die Caption ist nicht gemeint, ich weiss ja, dass es da keine einschränkungen gibt :D
procedure Form2.CreateWin(name:string);
var cchild:TForm2; begin cchild:=TForm2.Create(Self); cchild.name:=name; cchild.caption:=name; end; procedure Form2.Button1Click(Sender: TObject); begin CreateWin(Edit1.Text); end; procedure Form2.Button2Click(Sender: TObject); var n:string; child:TForm2; begin n:=Edit1.Text; child:=(FindComponent(n) as TForm2); child.caption:='Blabla'; end; |
Hallo,
[quote="aM0xACiLLiN"]ich meinte nicht die Caption, sondern den Name der Komponente. Ist das Problem jetzt klar? Die Caption ist nicht gemeint, ich weiss ja, dass es da keine einschränkungen ;) - geht nicht, wenn dann _ Underline! Ansonsten es dem User einfach verbieten - zu schreiben. Grüsse, Daniel :hi: |
Zitat:
|
Aber wieso willst Du es überhaupt über den Namen der Komponente regeln? Der ist eigentlich wirklich ausschließlich für das Coding gedacht? Was genau willst Du erreichen, vielleicht können wir Dir einen günstigeren Weg zeigen. Das gewollte wirst Du nicht erreichen können. Die Namen müssen mit einen Buchstaben (A-Z) beginnen und können ausschließlich Alphanummerische Zeichen (A-Z, 0-9) und den Underscore (_) enthalten.
...:cat:... |
@sakura: das hat mich auf eine idee gebracht. habs jetzt anders gelöst, dauert zwar nun (vom coding her) länger das gesuchte fenster zu finden, aber dafür sind alle namen erlaubt :D (jetzt wird jedes MDI-Fenster abgefragt, und nach der caption wird geschaut ob es sich um das gesuchte handelt)
|
Such mal lieber in der Hilfe nach Tags :mrgreen:
Dem User die Namen meiner Komponenten anzuvertrauen lässt mir die Haare zu Berge steigen :firejump: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:44 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 by Thomas Breitkreuz