Entwickler-Ecke

Delphi Language (Object-Pascal) / CLX - Procedure-Probem


Mischel24NRW - Mi 14.03.07 23:40
Titel: Procedure-Probem
Hallihallo!
habe folgende procedure selber geschrieben:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
procedure Helfer_laden(combobox: tcombobox);
var
i: integer ;
begin
//Helfer einlesen
  //Helferliste löschen
    form1.combobox.Items.clear;
  //1. Bergung
    Helferzahl:= strtoint(Helfer.readstring('B1','0','Fehler'));
    for i:=1 to Helferzahl do
    begin
      Helfername:=Helfer.readstring('B1',inttostr(i),'Fehler');
      Form1.combobox.Items.Add(Helfername);
      //Helfer.WriteString('Status','B1 '+Helfername,'abwesend');
    end;

   //2. Bergung
    Helferzahl:= strtoint(Helfer.readstring('B2','0','Fehler'));
      for i:=1 to Helferzahl do
      begin
       Helfername:=Helfer.readstring('B2',inttostr(i),'Fehler');
        form1.combobox.Items.Add(Helfername);
        //Helfer.WriteString('Status','B2 '+Helfername,'abwesend');
      end;

   //WP
    Helferzahl:= strtoint(Helfer.readstring('WP','0','Fehler'));
      for i:=1 to Helferzahl do
      begin
       Helfername:=Helfer.readstring('WP',inttostr(i),'Fehler');
        form1.combobox.Items.Add(Helfername);
        //Helfer.WriteString('Status','WP '+Helfername,'abwesend');
      end;

   //OV Stab
    Helferzahl:= strtoint(Helfer.readstring('OVS','0','Fehler'));
      for i:=1 to Helferzahl do
      begin
       Helfername:=Helfer.readstring('OVS',inttostr(i),'Fehler');
        form1.combobox.Items.Add(Helfername);
        //Helfer.WriteString('Status','OVS '+Helfername,'abwesend');
      end;

   //Sonstige Helfer
    Helferzahl:= strtoint(Helfer.readstring('Sonstige','0','Fehler'));
      for i:=1 to Helferzahl do
      begin
       Helfername:=Helfer.readstring('Sonstige',inttostr(i),'Fehler');
        form1.combobox.Items.Add(Helfername);
        //Helfer.WriteString('Status','Sonstige '+Helfername,'abwesend');
      end;

   //J1
    Helferzahl:= strtoint(Helfer.readstring('J1','0','Fehler'));
      for i:=1 to Helferzahl do
      begin
       Helfername:=Helfer.readstring('J1',inttostr(i),'Fehler');
        form1.combobox.Items.Add(Helfername);
        //Helfer.WriteString('Status','JU1 '+Helfername,'abwesend');
      end;

   //J2
    Helferzahl:= strtoint(Helfer.readstring('J2','0','Fehler'));
      for i:=1 to Helferzahl do
      begin
       Helfername:=Helfer.readstring('J2',inttostr(i),'Fehler');
        form1.combobox.Items.Add(Helfername);
        //Helfer.WriteString('Status','JU2 '+Helfername,'abwesend');
      end;

//Einträge sortieren und ersten Eintrag auswählen
BubbleSort(form1.combobox.Items);
form1.combobox.ItemIndex:=-1;
end;


Zuerst hatte ich die prozedur so, dass sie keinen Wert übergeben bekam und ich die Combobox, mit der da gearbeitet wird in die Prozedur fix reinschreibe. So hat sie einwandfrei funktioniert.
Nun wollte ich die Prozedur etas flexibler gestalten. Leider funktioniert das so in der Form nicht.
Beim Kompilieren kommt folgende Fehlermeldung:

[Error] Unit1.pas(155): Previous declaration of 'Helfer_laden' was not marked with the 'overload' directive

Kann mir jemand sagen, was das bedeutet?


HelgeLange - Mi 14.03.07 23:44

overload nimmt man, um mehrere proceduren/funktionen mit gleichen Namen, aber unterschiedlichen parametern haben zu können, wobei der Compiler entscheidet anhand der gegebenen Parameter beim Aufruf, welche der gleichnamigen Methoden gemeint ist.
Wahrscheinlich hast Du irgendwo noch deine alte Helfer_laden deklariert ohne die TComboBox als Parameter und der Compiler erkennt jetzt 2 Prozeduren mit gleichem Namen aber unterschiedlichen Parametern.


Mischel24NRW - Mi 14.03.07 23:46

Vielen Dank!

genau so wars... Musste natürlich in der Deklaration auch noch den Wert in der Klammer ändern!

Dankeschön

Gruß Michael