Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Zwei End; im Quelcode


BastianA - Fr 04.09.09 09:31
Titel: Zwei End; im Quelcode
Hallo erstmal,

Ich bin Delphi Anfänger und Lerne gerade Variablen doch bei meinem Quellcode steht aös erstes das end; und dann ein end mit Punkt.Dies ist aber immer drann und wenn ich das Debugging starten will bekomme ich auch den Fehler Meldung hab ein Bild gemacht zur Verdeutung.

Viele Grüße Bastian


turboPASCAL - Fr 04.09.09 09:38

Hi,

ich vermute mal das das letzte "End;" ein "End." sein muss bzw. sein sollte.

So etwas fällt leichter auf, wenn man den Quellcode ordentlich formatiert. ;)


BastianA - Fr 04.09.09 09:40

geht auch nicht :S.Hab auch shcin Komma probiert und gelöscht aber es kommt immer die Fehlermeldung


Delete - Fr 04.09.09 09:58

Da scheint eine case-Verzweigung enthalten zu sein, welche auch mit "end;" abgeschlossen werden muss. Setz also mal hinter das "end;" noch ein "end;".


Gausi - Fr 04.09.09 09:59

Hallo und :welcome: in der Entwickler-Ecke,

Bei sowas ist es immer hilfreich, wenn man den Quellcode sieht, und zwar in Textform, nicht als Bild.

Meine Vermutung: Da fehlt ein end;. Begründung: Der Code-Auschnitt sieht so aus, als würdest du da mit einer Case-of-Struktur arbeiten. Diese muss selbst auch mit einem end abgeschlossen werden. Also:

Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
procedure TForm1.Button1CLick(Sender: tObject); // 
begin // Begin der procedure  
  case irgendwas of
    1: Machwas
    //...
    5: Diagnose := 'Wenn du meinst';
  end// end der Case-Anweisung
end// End der procedure

end// End des Programmes


elundril - Fr 04.09.09 10:21

Deswegen ein kleiner Tipp den ich mir angewöhnt habe: Immer wenn ich eine Struktur schreibe die ein End; erfordert (also Case-Anweisungen, begin, und so weiter), schreib ich immer gleich das End; dazu und nachher erst den Code der vor das End; gehört.

lg elundril


Delete - Fr 04.09.09 10:30

Das hab ich früher auch immer gemacht, musste mir das aber schnell wieder abgewöhnen, da aktuelle Delphi-Versionen das schon automatisch übernehmen. Die erste Zeit nach dem Umstieg hatte ich also jede Menge doppelte "end;"s im Code, das treibt einen in den Wahnsinn.


turboPASCAL - Fr 04.09.09 10:36

Zitat:
Bei sowas ist es immer hilfreich, wenn man den Quellcode sieht, und zwar in Textform, nicht als Bild.

In der Tat.


Regan - Fr 04.09.09 10:37

Und das Schlimmste bei dem Autohinzufügen war bei mir immer: Zu Hause (Turbo Delphi) hat er die end;'s immer geschrieben, in der Schule (D7) nicht.


Lannes - Fr 04.09.09 11:35

Hallo,

ja nervt, wenn man mit älteren und neueren Delphiversionen arbeitet,
das automatische hinzufügen der ends kann man abschalten.
Menü: Tools\Optionen\Editor-Optinen\Code Insight\ [ ] Blockvervollständigung