![]() |
Deklaration ändern ?
Hallo,
wie kann ich in einer Procedure eine Deklaration ändern. Möchte in meiner Procedure Comboboxen oder TTabControls füllen. Wenn man ein TTabControl füllen will, soll Die Variable Box als TTabControl.Tabs deklariert werden, ansonsten als TComboBox. Gruss Holger |
Re: Deklaration ändern ?
Zitat:
du schreibst allerdings etwas von einem Typ TTabControl.Tabs wobei Tabs ja dann ein Member wäre aber kein Typ :gruebel: |
Re: Deklaration ändern ?
a) Entweder Du findest einen gemeinsamen Vorfahren der Typen, die Du übergeben willst (wie schon geschrieben wurde)
oder b) Du überlädst (overload) die Funktion |
Re: Deklaration ändern ?
Ohh, da habe ich mich vertan.
Es geht um die Deklaration von TTabControl und TComboBox
Delphi-Quellcode:
oder
ComboBox1.items.Add('')
Delphi-Quellcode:
Ich könnte der Procedure z.B. mit einer 1 = TTabControl und 2 = TComboBox mitgeben.
TTabControl.Tabs.Add('');
Wie kann ich nun in der procedure TTabControl oder TComboBox füllen ? Vorher hatte ich in der Procedure fest = Box: TComboBox Gruss Holger P.S.: Hier die derzeitige Procedure ohe TTabControl:
Delphi-Quellcode:
ComboBox_fuellen (Box:TComboBox; Query:TQuery; Spalten:String; Anzahl:Integer; SQL: String);
|
Re: Deklaration ändern ?
TWinControl hat kein .Clear;
Gruss Holger |
Re: Deklaration ändern ?
Das Property items und Tabs sind beide vom Typ TStrings. Also benötigst du eine Funktion die als Übergabeparameter ein TStrings besitzt.
|
Re: Deklaration ändern ?
Also hier würde ich den von mir erwähnten Punkt b) bevorzugen.
Sonst musst Du innerhalb der procedure noch entscheiden, um welchen Typ Box es sich handelt. |
Re: Deklaration ändern ?
@Klaus: muss er nicht
Delphi-Quellcode:
DieProcedure(Combobox1.Items);
DieProcedure(TabControl1.Tabs); [...] procedure TYourClass.DieProcedure(Items: TStrings); begin Items.Add(''); end; |
Re: Deklaration ändern ?
müsste es nicht heissen:
Delphi-Quellcode:
procedure TYourClass.DieProcedure(var Items: TStrings);
|
Re: Deklaration ändern ?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10: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 by Thomas Breitkreuz