Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - goto Anweisung in with do Block
Daniel L. - Mi 03.11.10 14:34
Titel: goto Anweisung in with do Block
Hi,
wenn ich eine goto Anweisung zu einem definierten Label innerhalb eines 'with do' Blockes schreibe, bekomme ich im Strukturfenster einen Fehler angezeigt: ('Void' enthält kein Element namens 'L' in Zeile 32).
Die Anwendung lässt sich jedoch fehlerfrei compilieren und richtig ausführen!!
Hier ein (unsinniges) Beispiel:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| procedure TForm1.Button1Click(Sender: TObject); var p : TPoint; label L; begin with p do begin goto L; L: end; end; |
kommentiert man "with p do" aus, gibt es keine Fehlermeldung
mit Gruss und :?: : Daniel
edit: TurboDelphi
Delete - Mi 03.11.10 14:37
Vermeide die goto-Anweisung. In den meisten Fällen sind sie überflüssig und machen den Programmcode nur unübersichtlich.
jaenicke - Mi 03.11.10 14:41
Wenn du with benutzt, musst du damit leben. Damit kann man eben nur sehr schlecht debuggen, und diese falschen Fehleranzeigen sind die Dreingabe. :nixweiss:
Und dann auch noch goto dazu... naja, was soll man da schon noch sagen...
platzwart - Mi 03.11.10 15:44
Du solltest heutzutage weder 'with' noch 'goto' benutzen, das sind Relikte aus der Programmiersteinzeit.
delfiphan - Mi 03.11.10 15:45
Der Bug wurde in zwischen wohl gefixt.
Ich verwende weder with noch goto. Beides ist für Leute, die den Code nicht bereits gut kennen relativ mühsam zum Lesen und beide sind anfällig für Bugs.
// platzwart war wohl schneller ;)
Daniel L. - Mi 03.11.10 16:41
...wobei einem with do viel Schreibarbeit anmehmen kann.
Daniel
guinnes - Mi 03.11.10 17:00
Daniel L. hat folgendes geschrieben : |
| ...wobei einem with do viel Schreibarbeit anmehmen kann. |
Ich benutze dafür den Quelltexteingabe Helfer des CNPacks. Ist fast so komfortabel wie With, aber eben eindeutig.
jaenicke - Mi 03.11.10 17:45
Daniel L. hat folgendes geschrieben : |
| ...wobei einem with do viel Schreibarbeit anmehmen kann. |
Wenn man eine Zwischenvariable plus die genannten CnWizards benutzt, nicht viel.
Für diesen kleinen Aufwand bekommt man aber sehr viel. Direkte Auswertung per Mouseover beim Debuggen, Übersichtlichkeit, Eindeutigkeit, ...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 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!