AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

unverständlicher DCC-Fehler E2506

Ein Thema von himitsu · begonnen am 20. Apr 2009 · letzter Beitrag vom 10. Jan 2011
 
USchuster

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

AW: unverständlicher DCC-Fehler E2506

  Alt 9. Jan 2011, 17:19
Schön wäre es, wenn Embarcadero dieses reparieren würde.
Hilfreich dafür wäre ein QC Report mit folgendem Testcase und dem Hinweis Regression.

Delphi-Quellcode:
program GenericsMultipleDefaultPropertiesTest;

{$APPTYPE CONSOLE}

type
  TAssocArray<T> = record
  private
    function GetNamedValue(const AName: string): T;
    function GetValue(AIndex: Integer): T;
    procedure SetNamedValue(const AName: string; const AValue: T);
    procedure SetValue(AIndex: Integer; const AValue: T);
  public
    property Value[AIndex: Integer]: T read GetValue write SetValue; default;
    property Value[const AName: string]: T read GetNamedValue write SetNamedValue; default;
  end;

{ TAssocArray<T> }

function TAssocArray<T>.GetNamedValue(const AName: string): T;
begin
  Result := Default(T);
end;

function TAssocArray<T>.GetValue(AIndex: Integer): T;
begin
  Result := Default(T);
end;

procedure TAssocArray<T>.SetNamedValue(const AName: string;
  const AValue: T);
begin
//
end;

procedure TAssocArray<T>.SetValue(AIndex: Integer; const AValue: T);
begin
//
end;

type
  TStringAssocArray = TAssocArray<string>;

procedure Test;
var
  A: TStringAssocArray;
begin
  A['123'] := 'abc';
  if A[0] = A['123'] then;
end;

begin
  WriteLn('PASS'); // on compile
end.
(aber aus Erfahrung passiert sowas eher garnicht oder man muß sich die Bugfixes mit der nächsten Delphi-Version teuer erkaufen)
Eine Lösung wird es sehr wahrscheinlich nur für XE2 geben.
  Mit Zitat antworten Zitat
 


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 05:18 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