AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Operator oder Semikolon fehlt - eine Lösung

Ein Thema von cltom · begonnen am 26. Jun 2022 · letzter Beitrag vom 27. Jun 2022
Antwort Antwort
cltom

Registriert seit: 22. Sep 2005
221 Beiträge
 
Delphi 12 Athens
 
#1

Operator oder Semikolon fehlt - eine Lösung

  Alt 26. Jun 2022, 15:58
Delphi-Version: XE2
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:

  Length : TLabel; Nachher ist es logisch, wenn man es bemerkt.

Gruß
tom
  Mit Zitat antworten Zitat
Aviator

Registriert seit: 3. Jun 2010
1.611 Beiträge
 
Delphi 10.3 Rio
 
#2

AW: Operator oder Semikolon fehlt - eine Lösung

  Alt 26. Jun 2022, 19:42
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 lblLength: TLabel; . Für Edit-Felder kann man edt , für ComboBoxen cbb , usw. nehmen. CnPack hat da einen Wizard für der hier die Arbeit erleichtert.
  Mit Zitat antworten Zitat
cltom

Registriert seit: 22. Sep 2005
221 Beiträge
 
Delphi 12 Athens
 
#3

AW: Operator oder Semikolon fehlt - eine Lösung

  Alt 26. Jun 2022, 19:48
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 lblLength: TLabel; . Für Edit-Felder kann man edt , für ComboBoxen cbb , usw. nehmen. CnPack hat da einen Wizard für der hier die Arbeit erleichtert.
Völlig klar, uneingeschränkte Zustimmung. ich selbst benenne visuelle Komponenten "immer" mit "lbl_"/"edt_"/"btn_"/... Wie gesagt, die Benennung war hier irrtümlich, da ich statt der Caption den Namen eingegeben hatte.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Operator oder Semikolon fehlt - eine Lösung

  Alt 26. Jun 2022, 20:45
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.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Operator oder Semikolon fehlt - eine Lösung

  Alt 26. Jun 2022, 21:14
[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]
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#6

AW: Operator oder Semikolon fehlt - eine Lösung

  Alt 26. Jun 2022, 22:32
Der Typ im Name ist schon bissl blöd.
Tauscht man mal die Komponente, passt womöglich das nicht mehr zusammen.
Deswegen verwende ich auch nicht den Typ des Controls, sondern seine Verwendung.

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.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Renate Schaaf

Registriert seit: 25. Jun 2020
Ort: Lippe
114 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Operator oder Semikolon fehlt - eine Lösung

  Alt 27. Jun 2022, 02:47
Zitat:
Deswegen verwende ich auch nicht den Typ des Controls, sondern seine Verwendung.
Das gefällt mir. Jetzt nur noch die Projekte entsprechend ändern .
Renate
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#8

AW: Operator oder Semikolon fehlt - eine Lösung

  Alt 27. Jun 2022, 09:09
Dort, wo das richtige "Length" genutzt wird, könntest du stattdessen auch einfach nur System.Length verwenden.
$2B or not $2B
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz