AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Aha Momente

Ein Thema von himitsu · begonnen am 27. Sep 2022 · letzter Beitrag vom 31. Mär 2023
Antwort Antwort
Benutzerbild von himitsu
himitsu
Online

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

AW: Aha Momente

  Alt 5. Okt 2022, 17:09
Ich finde es nur nervig, wenn der Compiler immer wieder ein [1,2,3,...] als Enum interpretiert, obwohl er merken müsste, dass links vom := oder als Zieltyp des Parameters oder Operators ein Array vorgegeben ist.
Bzw. das er bei zu großen oder kleinen (negativen) Werten nicht von selber auf die Idee kommt es mal mit einem Array statt Enum zu versuchen, wo er Einem ja nur noch ein "out of range" um die Ohren werfen kann/tut.

Dass man das [] beim Aufruf weglassen kann ... Ohhh, wusste ich noch garnicht. machte mir immer die Mühe und schereibe die [ ] drumrum und verschwendete so bisher massenhafft Festplattenspeicher.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Okt 2022 um 17:13 Uhr)
  Mit Zitat antworten Zitat
Redeemer

Registriert seit: 19. Jan 2009
Ort: Kirchlinteln (LK Verden)
1.116 Beiträge
 
Delphi 2009 Professional
 
#2

AW: Aha Momente

  Alt 5. Okt 2022, 17:15
Mich stört im Zusammenhang mit Enums eher, dass wie oben erwähnt Bezeichner in offene Arrays konvertiert werden, Enums aber nicht in Sets. Zum einen als Methodenparameter, zum andere beim Plus-Operator: Set + Enum geht nicht, es muss Set + Set heißen.
Janni
2005 PE, 2009 PA, XE2 PA
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Aha Momente

  Alt 5. Okt 2022, 17:24
Ja, da hätte man den Operator überladen können, mit SET und ENUM.
Im Gegenzug kann man beim Include nur Einen aber nicht mehrere ENUMs verwenden.

Ich weiß nicht, ob man einen Record-Helper auch um Operatoren erweitern kann, um es selber zu machen.

Beim Array machen sie die [ implizit drum,
warum dann nicht auch bei +



Ich wollte noch einen Feature-Request machen, dass der Compiler Type/Enum-Namespaces implizit einbezieht/bevorzugt.
Wenn der Compiler und CodeCompletion in einer Zuweisung := oder als Zieltyp für Paramerter und Property einen Enum/Set erkennt, warum kann er dann nicht diesen Typ als erstes in der Suchreihenfolge haben, auch implizit für ScopedEnums ... bzw. eigentlich für alle Typen, nicht nur Enums.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 5. Okt 2022 um 17:31 Uhr)
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.088 Beiträge
 
Delphi XE2 Professional
 
#4

AW: Aha Momente

  Alt 6. Okt 2022, 18:29
Hatte kürzlich in einer (dynamisch erzeugten Form) ein THeaderControl eingefügt mit
fHeaderControl := THeaderControl.Create(Self); Als ich dann das HeaderControl an eine bestimmte Position stellen wollte
fHeaderControl.SetBounds(L, T, W, H) funktionierte das nicht.
Die Höhe wurde gesetzt, Left, Top, Width blieben unverändert.
Auch der Versuch, alle Parameter separat zu setzen, brachten das gleiche Resultat.
Hab dann einen längeren Thread verfasst, um Hilfe zu kriegen.
Gerade als ich "Thema erstellen" klicken wollte, erinnerte ich mich daran, dass ich mich immer geärgert hatte, wenn ich in der IDE ein HeaderControl in ein Formular eingefügt hatte, dieses am oberen Rand der Form erschien, weil Align defaultmäßig auf alTop gesetzt wird.
Ein Align := alNone; löste das Problem.
"Aha Moment".
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Aha Momente

  Alt 6. Okt 2022, 21:51
wenn ich in der IDE ein HeaderControl in ein Formular eingefügt hatte, dieses am oberen Rand der Form erschien, weil Align defaultmäßig auf alTop gesetzt wird.
Na ja, es heißt ja nicht von ungefähr THeaderControl. Ähnlich wie sein Counterpart TStatusBar, was standardmäßig Align = alBottom hat. Ein weiteres Mitglied der Familie ist übrigens TSplitView, wo man lediglich zwischen alLeft und alRight wählen kann, gut versteckt im Property Placement.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.088 Beiträge
 
Delphi XE2 Professional
 
#6

AW: Aha Momente

  Alt 7. Okt 2022, 16:56
wenn ich in der IDE ein HeaderControl in ein Formular eingefügt hatte, dieses am oberen Rand der Form erschien, weil Align defaultmäßig auf alTop gesetzt wird.
Na ja, es heißt ja nicht von ungefähr THeaderControl. Ähnlich wie sein Counterpart TStatusBar, was standardmäßig Align = alBottom hat. Ein weiteres Mitglied der Familie ist übrigens TSplitView, wo man lediglich zwischen alLeft und alRight wählen kann, gut versteckt im Property Placement.

Ja, ist (und war) mir schon klar.
Bei TStatusBar finde ich das auch gut so, auch wenn ich schon Projekte mit 2 StatusBars hatte, eine oben und die andere unten.
Aber ein HeaderControl wird ja i.d.R. im Zusammenhang mit ListBoxen verwendet, und die reichen ja auch defaultmäßig nicht von Rand zu Rand.
Ich wollte mit meinem Beitrag auch keine Kritik üben, sondern lediglich einen "Aha Moment" (Titel des Threads) schildern.
Gruß, Klaus
Die Titanic wurde von Profis gebaut,
die Arche Noah von einem Amateur.
... Und dieser Beitrag vom Amateurprofi....
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Aha Momente

  Alt 7. Okt 2022, 17:39
Manchmal steht man einfach auf dem Schlauch.

Im FMX letztens ein Memo alBottom in den WebBrowser gelegt, anstatt darunter und mich dann gewundert, dass es zur Laufzeit nicht sichtbar ist.

So, hatte meine Dashboards und Filter im Jira endlich mal bissl überarbeitet
und dachte auch erst "maaaa, warum geht das denn nicht" ... schon das halbe Internet durchsucht ... und am Ende einfach übersehn, dass dort nur ein winziges Häkchen fehlte, die Sortierung falschrum war, aber der Filter doch richtig funktionierte.

Aha da sind sie ja, die Spammer Markus, Stefan, Uwe und der Kein



Funktioniert meine neue angefangene Wunschliste denn?

Uwe, wie bekommst du denn 3 Zeilen hin?
schon seit Jahren fängt die bei mir schon ab mehr als 2 Zeilen an zu meckern, dass maximal 3 gehen.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 7. Okt 2022 um 17:51 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 09:00 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