![]() |
AW: Aha Momente
Ja, das stimmt. Meine Variante war auch sehr schnell.
|
AW: Aha Momente
Zitat:
Zitat:
|
AW: Aha Momente
Ein schönes Aha ist toll,
aber es geht auch andersrum. :cry: ![]() Je öfter man drauf guckt, um so schlimmer wird es. Ich guck heute lieber nicht mehr in meine eigenen Codes. Hatte bestimmt zu oft in der Hilfe abgeguckt. :freak: |
AW: Aha Momente
Hatte auch gerade einen Aha-Moment und bin immer noch völlig irritiert, weil man
Delphi-Quellcode:
auch mit einem Integer als Argument aufrufen kann, sofern es sich bei dem Integer nicht um ein Literal handelt.
function Wupp(Di: array of Integer): string;
Delphi-Quellcode:
Kompiliert (und führt zu einem Stapelüberlauf, sofern keine überladene Version für
function Wupp(Di: array of Integer);
begin Result := Wupp(Di[0]); end;
Delphi-Quellcode:
existiert).
Di: Integer
Welchen Sinn hat das? |
AW: Aha Momente
Über den Sinn zu diskutieren ist müßig.
Zumindest ist es ![]() Zitat:
|
AW: Aha Momente
Danke, den Artikel der Hilfe hatte ich irgendwie nicht gefunden. Hatte nach "Argumente" und nach "Methoden" gesucht.
|
AW: Aha Momente
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. :cry: |
AW: Aha Momente
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.
|
AW: Aha Momente
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. :stupid::lol: 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. |
AW: Aha Momente
Hatte kürzlich in einer (dynamisch erzeugten Form) ein THeaderControl eingefügt mit
Delphi-Quellcode:
Als ich dann das HeaderControl an eine bestimmte Position stellen wollte
fHeaderControl := THeaderControl.Create(Self);
Delphi-Quellcode:
funktionierte das nicht.
fHeaderControl.SetBounds(L, T, W, H)
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
Delphi-Quellcode:
löste das Problem.
Align := alNone;
"Aha Moment". |
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:45 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