![]() |
AW: Form Namen Variable verwenden
Zitat:
Delphi-Quellcode:
procedure TSomeForm.SomeFormCreate(Sender : TObject);
begin prLoadModuleLanguage( Self ); // <- mit Self wird die aktuelle Instanz übergeben =:o) end; |
AW: Form Namen Variable verwenden
Zitat:
Wie müsste das dann aussehen wenn ich das mit Self mache? Sorry ich bin auf dem Gebiet nicht wirklich bewandert :oops: |
AW: Form Namen Variable verwenden
Dann nimm doch self.Name oder self.Classname, je nachdem.
|
AW: Form Namen Variable verwenden
Zitat:
Caption kommt normalerweise von TControl.Caption Also im ganzen Satz:
Delphi-Quellcode:
Irgendwelche Spezialfälle muss man natürlich gesondert behandeln, aber auch da macht es immer Sinn, den passenden Vorgänger zu suchen, sonst tippt man sich einen Wolf.
procedure prLoadModuleLanguage(aComponent : TComponent);
var idx : Integer; lComponent : TComponent; lControl : TControl; begin for idx := 0 to Pred( aComponent.ComponentCount ) do begin lComponent := aComponent.Components[ idx ]; if lComponent is TControl then begin lControl := lComponent as TControl; lControl.Caption := fnGetComponentCountryText('Component', aComponent.ClassName, lComponent.ClassName, lComponent.Name); end; end; end; |
AW: Form Namen Variable verwenden
Könnte man dann nicht gleich über Controls iterieren? Nicht-visuelle Komponenten müssen ja nicht beschriftet werden. Außerdem ist TControl.Caption IIRC protected und wird in abgeleiteten Klassen dann zu Caption oder zu Text, man bräuchte also entweder eine Unterscheidung, was sehr umfangreich werden könnte, oder ein wenig RTTI.
|
AW: Form Namen Variable verwenden
Zitat:
Components -> Owner Die Form ist idR der Owner, der Parent kann auch ein Panel sein und dann müsste man bei den Controls rekursiv durchgehen ;) |
AW: Form Namen Variable verwenden
Trotzdem würde ich das vorziehen, denn man kann eine Komponente ja auch dynamisch zur Laufzeit erzeugen, ohne dass man einen Owner angibt. Man kann sie natürlich auch ohne Parent erzeugen, aber dann ist sie eh nicht zu sehen, muss also auch gar nicht beschriftet werden.
|
AW: Form Namen Variable verwenden
@Sir Rufo
Gibt es keine möglichkeit, das ich im OnShow ereignis einer Form die Komponenten durchsuche und die Captions etc. setze und das über eine Prozedur die ich im OnShow Ereignis aufrufe so wie von mir angedacht? |
AW: Form Namen Variable verwenden
Zitat:
|
AW: Form Namen Variable verwenden
Das Einzige, was halbwegs sicher ist, wenn du rekursiv alle Controls (Parent-Child-Beziehungen) durchläufst.
Die Components, bzw der Owner hat ja nichts mit der Sichtbarkeit zu tun, sondern nur mit der internen (Speicher)Verwaltung. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:41 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