![]() |
Delphi-Version: XE2
Operator oder Semikolon fehlt - eine Lösung
Hej,
ein Thema, das mehrfach aufgetaucht und durch die Suche gut abgedeckt ist, dennoch eine Ursache, die mit gerade passiert ist. Keine offene Frage also sondern gleich die Lösung für solche, die via Suche drüberstolpern: Hatte in einem Form mit gut 8.000 Zeilen Code plötzlich 40+ Fehler beim Compilieren, unter anderem Operator oder Semikolon fehlt. Die Stelle, an der der Fehler auftrat, war (erst mal) nichtssagend und auch alle Prozeduren davor waren in Ordnung. Um es kurz zu machen: ich hatte versehentlich einer Komponente auf der betreffenden Form den Namen "Length" gegeben (es hätte die Caption sein sollen). Im Gegensatz zu Schlüsselwörtern wurde der Name akzeptiert, hat aber natürlich dazu geführt, dass die Verwendung von Length im gewünschten Sinne (Länge eines dyn. arrays etwa) nicht mehr funktioniert durch die Deklaration von:
Delphi-Quellcode:
Nachher ist es logisch, wenn man es bemerkt. :stupid:
Length : TLabel;
Gruß tom |
AW: Operator oder Semikolon fehlt - eine Lösung
Deshalb macht es Sinn mit Präfixen oder Suffixen zu arbeiten. Ich priorisiere Präfixe, da diese dann in der Autovervollständigung besser ersichtlich sind.
Also in deinem Fall dann
Delphi-Quellcode:
. Für Edit-Felder kann man
lblLength: TLabel;
Delphi-Quellcode:
, für ComboBoxen
edt
Delphi-Quellcode:
, usw. nehmen. CnPack hat da einen Wizard für der hier die Arbeit erleichtert.
cbb
|
AW: Operator oder Semikolon fehlt - eine Lösung
Zitat:
|
AW: Operator oder Semikolon fehlt - eine Lösung
Der Typ im Name ist schon bissl blöd.
Tauscht man mal die Komponente, passt womöglich das nicht mehr zusammen. Und gerade bei Sowas wären doch Suffixe besser, da Zusammengehöriges (funktional, nicht nach Typ) dann auch zusammen steht, also alles was mit Längen zu tun hat, fängt auch mit Länge an. Wobei ... wessen Länge soll das denn sein? Siehst du, schon ist klar, dass der Name bissl blöd ist. Das WAS vor die Länge und schon gibt es keine Probleme mehr. |
AW: Operator oder Semikolon fehlt - eine Lösung
[OT]
Ich tendiere meist zu Präfix Nutzung, die je nach Formularaufbau noch untergliedert ist, ein Beispiel, ein Panel mit verschiedenen Controls, dann bekommen die inneren Controls nach dem "Haupt"-Präfix (lbl, cbb etc..) noch ein weiteres Präfix vom Panel wo sie drinnen hocken. Aber ich denke das dies reine Geschmackssache ist, so wie man es halt gewohnt ist (für mich ist es so relativ einfach alle Controls eines bestimmten Typs zu listen und durchzugehen). [/OT] |
AW: Operator oder Semikolon fehlt - eine Lösung
Zitat:
Ein dspHeight ist ein Control, das den Height-Wert darstellt. Das kann ein TLabel oder ein TStaticText, aber auch ein TProgressBar, TDBText, TRzURLLabel oder TRzLEDDisplay sein. Ebenso ist ein edtHeight ein Control, mit dem man den Height-Wert editieren kann. Das kann ein TEdit, TButtonedEdit oder ein TDBMemo, aber auch eine TComboBox (Style=csDropDown), eine TNumberBox, aber auch ein TTrackBar sein. Weiter steht selHeight für ein Control, mit dem man den Height-Wert aus einer Reihen von Möglichkeiten selektieren kann. Das geht über eine TComboBox (Style=csDroDoenList), eine TListBox, eine TRadioGroup oder manchmal auch über TCategoryButtons sein. Allerdings ist lblHeight dann wiederum das Control, das zu einem der vorigen dsp, edt oder sel Controls angibt, was dort verändert wird (der Height-Wert). Auf eine Anregung von Jeroen Pluimers hin mache ich in letzter Zeit ein paar Experimente mit dem Postfix. Mal sehen was dabei herauskommt. |
AW: Operator oder Semikolon fehlt - eine Lösung
Zitat:
|
AW: Operator oder Semikolon fehlt - eine Lösung
Dort, wo das richtige "Length" genutzt wird, könntest du stattdessen auch einfach nur System.Length verwenden.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:37 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