Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi CalcField und Null (https://www.delphipraxis.net/182644-calcfield-und-null.html)

himitsu 6. Nov 2014 16:25

Datenbank: Postgres • Version: x • Zugriff über: PgDAC

CalcField und Null
 
Moin,

Wer ist eigentlich auf die saublöde Idee gekommen, daß man CalcFields nicht leeren darf? (natürlich alles im OnCalcField)

Bevor das Erste mal was reingeschrieben wird, ist es ja auch schoneinmal Null, dann kann man beliebig alles Mögliche reinschreiben, aber leer bekommt man es nicht mehr. :?


Delphi-Quellcode:
Field.Clear;
geht nicht, da
Delphi-Quellcode:
procedure TField.Clear;
begin
  if FieldKind in [fkData, fkInternalCalc] then
    SetData(nil);
end;
Und es ist auch nirgends überschrieben. (außer bei Blobs)

Auch die Idee ein Null an AsVariant oder Value zu übergeben geht nicht, da
Delphi-Quellcode:
procedure TField.SetAsVariant(const Value: Variant);
begin
  if VarIsNull(Value) then
    Clear
  else
    ...
:wall:


Ich tausche jetzt das
Delphi-Quellcode:
Field.Clear;
gegen ein
Delphi-Quellcode:
Field.SetData(nil)
(da dieses zur Abwechslung mal nicht private ist) und hoffe es knallt dann nirgendwo.
(wir haben eh demnächst vor alle benutzten TField-Typen abzuleiten und dann würde dort das Clear überschrieben)



Weiß zufällig jemand, warum man das so gemacht hat?

Einen Bugfix für XE erwarten wir eh nicht mehr, aber wir würden gern wissen warum das so ist. Hatten ja schon Andere das Problem (laut Google), aber eine Antwort fanden wir da nie.


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