Entwickler-Ecke
Sonstiges (Delphi) - Zu viele Parameter
marvin190 - Mi 03.05.06 18:57
Titel: Zu viele Parameter
Hallo zusammen!
Ich habe mal eine Frage, ich habe ein Procedure, das ausgelöst wird, wenn auf einen Button geklickt wird
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.GetInfosClick(Sender: TObject); begin Element1 := TAtom.Create(StrToInt(E1NameEdt.Text)); ... end; |
Zur Erklärung: Element1 ist vom Typ TAtom. Nun soll in "Element1" ein TAtom erstellt werden und dieser eine Parameter wird mitgegeben (Typ: Integer).
Das Procedure zu dem vverwiesen wird, sieht so aus:
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| constructor TAtom.Create(Value: Integer); begin inherited Create; ElementenNr := Value; ... end; |
Jetzt gibt der Kompiler in der Zeile "Element1 := TAtom.Create(StrToInt(E1NameEdt.Text));" eine Felher "Zu viele Parameter" aus.
Darf ich vielleicht einem Create-Procedure keine Variabele zuweisen?
Danke schonmal für eure Hilfe!
mkinzler - Mi 03.05.06 19:01
Wie sieht der Konstruktor der Superklasse aus?
marvin190 - Mi 03.05.06 19:02
Welcher Superklasse?
TForm oder TAtom?
TAtom steht oben.
mkinzler - Mi 03.05.06 19:05
Du rufst im Konstruktor von TAtom ja mit dem inherited den Konstruktor dessen Superklasse auf. Wie ist dieser definiert?
marvin190 - Mi 03.05.06 19:13
Achso, nein die Superklasse existiert nicht mehr, aber auch wenn ich jetzt das inherited wegmache, geht zwar der Fehler auch nicht weg, aber der Compiler akzeptiert das Create alleine nicht (Nicht genügend wirkliche Parameter). Brauc hich das Create vielleicht gar nicht mehr?
Danke schonmal für die schnelle Antwort!
mkinzler - Mi 03.05.06 19:17
Ja, wenn es keine Superklasse mehr gibt brauchst du die ganze Zeile nicht mehr.
marvin190 - Mi 03.05.06 19:19
Ok, bleibt immernoch das "Zu viele Parameter" Problem!
mkinzler - Mi 03.05.06 19:27
Poste mal die gesamte Definition der Klasse TAtom.
marvin190 - Mi 03.05.06 19:33
Die Definition von TAtom:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16:
| TAtom = class(TObject) public AtomName: String; AtomAbk: String; ElementenNr: Integer;
VorgaengerAtom:TAtom; BindungsListe: TList; AtomListe: TList; constructor Create(Value: Integer); destructor Destroy; end; |
mkinzler - Mi 03.05.06 19:52
Ich kann da eigentlich keinen Fehler erkennen. hast du mal versucht das Create mit einer Konstante aufzurufen oder den Wert des Edits in einer Variablen zwischenzuspeichern?
marvin190 - Mi 03.05.06 19:59
alles klar, so funktioniert es, sieht zwar nicht schön aus... aber was solls! :-)
Danke für eure Hilfe!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!