![]() |
Prozedur Global erstellen
Tach Leuz.
Ich möchte eine Prozedur erstellen, die mein Array in eine Listbox schreibt. Diese Prozedur soll allerdings durch mehrere Möglichkeiten aufgerufen werden. (z.B. nach dem Öffnen einer Date, oder nachdem das Array geändert wurde). Mein Problem ist jetzt, dass Delphi meckert, wenn ich die Prozedur einzeln schreibe (die Listbox ist dann ein "Undefinierter Bezeichner"). Wenn ich sie in den Vereinbarungsteil eines Buttons schreibe, dann geht alles klar. Hier die Prozedur, um die es geht:
Delphi-Quellcode:
Ich hoffe, ich habe mein Problem verständlich geschildert und ihr könnt mir bei der Lösung helfen!
//Ausgabe des Kategorie-Arrays in Listbox
procedure ausgabe_kategorien(); var i:integer; begin category.Items.Clear; //category ist die ListBox for i:=0 to high(kategorien) do category.Items.add(kategorien[i]); //Kategorien ist das Array end; |
Re: Prozedur Global erstellen
In diesem Fall wäre es sinnvoll der Prozedur eine Referenz auf die ListBox zu übergeben.
|
Re: Prozedur Global erstellen
Zitat:
Die ButtonClick-Methode ist eine Methode deiner Form und "kennt" daher auch alle Komponenten deiner Form. Daher gibt es 2 Möglichkeiten: Entweder, du implementierst deine Methode als Methode der Form, oder du übergibst ihr - wie mkinzler es schon vorgeschlagen hat - als Parameter eine ListBox, auf die du dann innerhalb der Methode zugreifst. Da nur ein Zeiger übergeben wird, wirken sich alle Änderungen auch auf die eigentliche ListBox aus. Die zweite Methode ist meiner Meinung nach auf jeden Fall vorzuziehen ;) |
Re: Prozedur Global erstellen
Danke Leute... ich habs jetzt hinbekommn. Es funktioniert alles bestens.
hier meine Lösung:
Delphi-Quellcode:
Und bei type:
//Ausgabe des Kategorie-Arrays in Listbox
procedure TForm1.ausgabe_kategorien; var i:integer; begin category.Items.Clear; //category ist die ListBox for i:=0 to high(kategorien) do category.Items.add(kategorien[i]); //Kategorien ist das Array end;
Delphi-Quellcode:
type
procedure ausgabe_kategorien(); |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 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