Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Nullable Typen (https://www.delphipraxis.net/211612-nullable-typen.html)

BlueStarHH 12. Okt 2022 14:59

Delphi-Version: 5

Nullable Typen
 
Hi,

sollte es in aktuellen Delphi Versionen nicht Nullable Typen geben (Also Z.B. ein Integer der 7 oder "nicht zugewiesen" sein kann)? Wie kann ich die nutzen? Ich meine das wurde mal angekündigt. Oder ist das Wunschdenken von mir?

Rolf Frei 12. Okt 2022 15:03

AW: Nullable Typen
 
Wurde vor langer Zeit angekündigt, aber ist bis Heute nicht integriert worden. Gründe dafür wüsste ich auch gerne.

himitsu 12. Okt 2022 15:09

AW: Nullable Typen
 
Gibt es spätestens im nächsten Jahrtausend (vielleicht)


https://quality.embarcadero.com/brow...%22Nullable%22

https://quality.embarcadero.com/browse/RSP-13198
diese Fehlermeldung sagt, dass Delphi nullable hat, weil es ja auch non-nullable kennt :lol:

https://www.delphipraxis.net/199250-...-nullable.html

Der schöne Günther 12. Okt 2022 15:30

AW: Nullable Typen
 
Ich glaube versprochen hatte die niemand, nur die technische Möglichkeit das mit den Managed Records besser als bisher umsetzen zu können.

DeddyH 12. Okt 2022 16:06

AW: Nullable Typen
 
Doch, die standen mal auf der Roadmap, das ist aber schon ein paar Jahre her. Im Delphi-Universum ist das natürlich erst gestern gewesen :mrgreen:.

Uwe Raabe 12. Okt 2022 16:22

AW: Nullable Typen
 
Zitat:

Zitat von DeddyH (Beitrag 1513173)
Doch, die standen mal auf der Roadmap,

Das ist aber nicht dasselbe wie versprochen.
Zitat:

These plans and roadmap represent our intentions as of this date, but our development plans and priorities are subject to change.

himitsu 12. Okt 2022 16:55

AW: Nullable Typen
 
Auf der Karte von der Straße nach Nirgendwo?



https://blogs.embarcadero.com/pt/joi...paper-contest/
Zumindestens fangen sie an selber ihre Karten umzumalen ... müssen wir das nicht immer machen. :stupid:

freimatz 12. Okt 2022 18:37

AW: Nullable Typen
 
Gibts in Spring4D

PaPaNi 13. Okt 2022 07:07

AW: Nullable Typen
 
Veileicht könnte die dzLib in diesem Fall hilfreich sein? Es werden einige Nullable Typen unterstützt.

https://osdn.net/projects/dzlib-tool...lib/trunk/src/

DeddyH 13. Okt 2022 08:13

AW: Nullable Typen
 
Mittlerweile hat doch jeder, der dringenden Bedarf an Nullables hat, entweder eine externe Bibliothek eingebunden oder sich (wie ich) selbst etwas gebastelt, meist auf Record- oder Interfacebasis. Solchen Wildwuchs kann keine Bibliothek der Welt abdecken.

freimatz 13. Okt 2022 12:40

AW: Nullable Typen
 
Na ja, eine native Implementierung könnte mit dem Wildwuchs aufräumen und wäre sauberer und oft auch effizienter und speichersparender

DeddyH 13. Okt 2022 13:02

AW: Nullable Typen
 
Darauf wollte ich ja hinaus.

himitsu 13. Okt 2022 13:16

AW: Nullable Typen
 
Hätte man was zum Nutzen gehabt, dann gäbe es vermutlich nicht so einen großen Wildwuchs.

Rolf Frei 13. Okt 2022 13:29

AW: Nullable Typen
 
Wenn ich mich richtig erinnere war das für 10.4 Sydney fest eingeplant und als neues Feature kommuniziert, wurde dann aber kurzfristug wieder gestrichen. Eine richtige Begründung wieso gab es glaube ich nie. Ich war da nämlich etwas entäuscht, dass es dann hies, dass es nun doch nicht in 10.4 kommen wird.

dummzeuch 13. Okt 2022 15:23

AW: Nullable Typen
 
Zitat:

Zitat von freimatz (Beitrag 1513230)
Na ja, eine native Implementierung könnte mit dem Wildwuchs aufräumen und wäre sauberer und oft auch effizienter und speichersparender

Vielleicht, allerdings nur, wenn man auch auf ein neues Delphi umsteigt. Ich würde aktuell meine wichtigen Projekte noch nicht auf Delphi 11 portieren. Derzeit sind sie noch Delphi 2007 und Delphi 10.2.

Vielleicht mit Delphi 12.5, für Projekte, die per Monitor HighDPI unterstützen müssen ...

freimatz 13. Okt 2022 21:17

AW: Nullable Typen
 
Klar geht das nur für neue Versionen. Für Anbieter von Bibliotheken macht das dann auch keinen Sinn. Aber das galt für Generics auch ...

Uwe Raabe 13. Okt 2022 22:59

AW: Nullable Typen
 
Das ist doch mit allen Neuerung so: sie gelten immer nur ab der Version wo sie eingeführt wurden.

Ich hatte auch eine Lösung für Image-Listen unter High DPI, aber trotzdem verwende ich jetzt TVirtualImageList.

Stevie 14. Okt 2022 10:54

AW: Nullable Typen
 
Zitat:

Zitat von freimatz (Beitrag 1513230)
Na ja, eine native Implementierung könnte mit dem Wildwuchs aufräumen und wäre sauberer und oft auch effizienter und speichersparender

Auf den Tag warte ich noch, dass eine Implementierung von Embarcadero die effizienteste ist :lol:

freimatz 14. Okt 2022 14:26

AW: Nullable Typen
 
Bin Urlaubsreif, da vergesse ich sowas gerne. Ausserdem bin ich schon oft froh wenn es mal überhaupt funktioniert. (Heute erst drei Delphi Neustarts wegen Probleme)
Eine native Implementierung wird man meistens mit einem Byte auskommen. Manchmal ginge es ggf auch ohne. So könnte man z.B. bei Double NaN verwenden, bei Referenzen Nil und bei Aufzählungstypen (incl. Boolean) ein weiterer impliziter Wert.

DeddyH 14. Okt 2022 14:39

AW: Nullable Typen
 
Ein Traum wäre es, wenn man Nullables ähnlich wie in anderen Sprachen (z.B. Dart) verwenden könnte. Das könnte dann so aussehen (sinnloser Beispielcode):
Delphi-Quellcode:
procedure PalimPalim;
var
  Something: integer?; // Das ? kennzeichnet die Variable als Nullable. Idealerweise ist sie gleich mit NULL initialisiert
begin
  Something := GetSomething;
  if Something <> NULL then
    ShowMessage(Something!.ToString); // Das ! bedeutet "ich weiß sicher, dass die Variable nicht NULL ist"
end;

himitsu 14. Okt 2022 14:50

AW: Nullable Typen
 
Nja, es wird wohl eher auf

Delphi-Quellcode:
var
  [Nullable] Something: Integer;

  // oder eher
  Something: TNullable<Integer>;
hinausgehn

DeddyH 14. Okt 2022 14:53

AW: Nullable Typen
 
So wie letzteres sieht mein eigener Kram auch aus. Man wird ja wohl noch träumen dürfen.

TurboMagic 15. Okt 2022 09:37

AW: Nullable Typen
 
Ich glaube da gab's dann irgendwelche Probleme mit irgendwelchen Sachen für die Managed Records
und diese Nullable Types sind vermutlich damit irgendwie "verwandt"/gekoppelt.

Ist aber nur eine Vermutung. Wer Lust hat kann ja in demw eiter oben geposteten QP Report mal
nach dem Status fragen. Im Gegensatz zu manch anderen Herstellern ist EMBT immerhin einigermaßen
auskunftsfreudig.

Grüße
TurboMagic


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:59 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