Einzelnen Beitrag anzeigen

USchuster

Registriert seit: 12. Sep 2010
Ort: L.E.
120 Beiträge
 
Delphi XE3 Professional
 
#5

AW: Record als Konstantenobjekt nach Update D2009->Delphi XE

  Alt 30. Aug 2011, 16:49
In 2010/XE gab es ein paar Änderungen bezüglich der Zugriffsprüfungen von Const-Parametern und anderen Konstanten.
Die Änderungen gab es in D2010.

Zitat:
ParametersOfFit1 ist als property nur "read" deklariert, FParametersOfFit1 verwenden.
Stimmt, also ist diese Meldung wohl richtig
und der Code hätte nie funktionieren dürfen,
Der dazugehörige Bug wurde in D2010 gefixed.

Report No: 56893 (RAID: 257191) Status: Closed
with <> ".": Syntax ambiguity?!
http://qc.embarcadero.com/wc/qcmain.aspx?d=56893

Änderungen an einzelnen Feldern werden nur an der Kopie des Property vorgenommen und nicht an dem, worauf das Property zeigt ... darum diese Meldung.
Und das konnte zu scheinbarem Datenverlust kommen, da nicht das passierte was der Programmierer wollte. Folgender Ausschnitt stammt aus einem Duplikat von QC 56893.

Delphi-Quellcode:
  with t.Items[0] do
  begin
    writeln(s); // str
    s := ':(';
    b := true;
    writeln(b); // true
  end;
  writeln(t.Items[0].s); // str <-- data loss
  writeln(t.Items[0].b); // false <-- data loss
  Mit Zitat antworten Zitat