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
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.042 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#1

AW: unverständlicher DCC-Fehler E2506

  Alt 10. Jan 2011, 17:14
Zitat:
*fixed*
Wenn man das so macht, dann sind die ganzen überladenen Default-Property nutzlos.
(sind sie jetzt zwar auch, da man sie nicht mehr nutzen kann)
Das bezog sich auf deine waghalsigen Workaround Ideen ohne die offensichtliche "Lösung" zu sehen.
Ja, schade, dass dieses Feature an dieser Stelle nicht funktioniert, macht deinen Code aber nicht unbrauchbar.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#2

AW: unverständlicher DCC-Fehler E2506

  Alt 10. Jan 2011, 22:29
Es bleibt aber dennoch was Anderes ... also so, als wenn man ReadLn nutzt, weil TStringList kaputt ist.

PS: Das mit den Operatoren hab ich in meinem himXML gentzt, um den Code auch auf D2006 laufen zu lassen, welches noch keine überladenen Property kannte.

Eine sehr gute Bilanz also.
> in 2009 (?) eingeführt und in 2010 wieder geschrottet.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (10. Jan 2011 um 22:35 Uhr)
  Mit Zitat antworten Zitat
ecotron

Registriert seit: 5. Jan 2006
Ort: Graz
5 Beiträge
 
RAD-Studio 2009 Pro
 
#3

Re: unverständlicher DCC-Fehler E2506

  Alt 7. Jul 2009, 23:20
Mit dem D2009 Update 3 kommt immer noch ein Fehler. Scheinbar gibt es ein Problem mit überladenen Default Properties und Generics.
Und wenn aber man Properties verschiebt oder Kleinigkeiten an andere Stelle ändert geht es manchmal.

Ganz seltsam ist auch dass man trotz Fehlermeldung eine Exe erzeugen kann. Einfach nach Projekt "Erzeugen" nochmals auf "Start" drücken.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#4

Re: unverständlicher DCC-Fehler E2506

  Alt 8. Jul 2009, 00:41
Zitat von ecotron:
Scheinbar gibt es ein Problem mit überladenen Default Properties und Generics.
gut, das überladene Property könnte man ja notfalls als Variant-Parameter zusammenfassen, aber dann ging ein wenig die "Leistung" runter (halt wegen der Variantverwaltung),
oder man läßt den Zugriff via Index (Integer) weg, bzw. verlagert ihn (umbenennen)

Zitat von ecotron:
Und wenn aber man Properties verschiebt oder Kleinigkeiten an andere Stelle ändert geht es manchmal.

Ganz seltsam ist auch dass man trotz Fehlermeldung eine Exe erzeugen kann. Einfach nach Projekt "Erzeugen" nochmals auf "Start" drücken.
sowas ist mir auch bei anderen Dingen schon paar Mal untergekommen.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
BlackSeven

Registriert seit: 25. Sep 2004
79 Beiträge
 
Delphi XE7 Professional
 
#5

AW: unverständlicher DCC-Fehler E2506

  Alt 8. Jan 2011, 10:53
Zitat:
A['123'] := 'abc'; -> [DCC Error] Unit1.pas(61): E2010 Incompatible types: 'Integer' and 'string'
A['456'] := 'def';
A['alfred'] := 'xyz';
Ich bin davon ausgegangen, dass überladene Array-Properties unterstützt werden, bekomme aber einen Fehler unter Delphi XE.
Erlich gesagt, habe ich diese bisher noch nicht benötigt. Mache ich da etwas falsch?
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#6

AW: unverständlicher DCC-Fehler E2506

  Alt 8. Jan 2011, 12:04
Funktionieren sollte dieses.

Wie hast du es denn deklariert?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
BlackSeven

Registriert seit: 25. Sep 2004
79 Beiträge
 
Delphi XE7 Professional
 
#7

AW: unverständlicher DCC-Fehler E2506

  Alt 8. Jan 2011, 15:58
Zitat:

Delphi-Quellcode:

program Project1;

uses
  SysUtils, AssocArray;

type
  TStringAssocArray = TAssocArray<String>;

var
  A: TStringAssocArray;

begin
  A['123'] := 'abc';

end.

Ich habe die Unit "AssocArray" eingebunden und Dein Testprogramm verwendet.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.326 Beiträge
 
Delphi 12 Athens
 
#8

AW: unverständlicher DCC-Fehler E2506

  Alt 8. Jan 2011, 17:25
Ups, da hatte ich was falsch verstanden.

OK, so wie es aussieht, hat Emba mal wieder Mist gebaut, welcher sich auch schon in Delphi 2010 nachvollziehen läßt.

Irgendwie wird bei direkten Angaben von Werten immer nur das zuerst deklarierte Property erkannt.
Delphi-Quellcode:
var MyArr: TAssocArray<String>;

MyArr['123'] := ...;
Nimmt man Variablen, dann klappt es.
Delphi-Quellcode:
var MyArr: TAssocArray<String>;
  S: String;
S := '123';
MyArr[S] := ...;
Auch sowas wie MyArr[String('123')] hilft nix.


Meine einzig mögliche Antwort ist aktuell also:
Toll gemacht Emba ... wieder was, welches nicht mehr funktioniert.

Die einzige Lösung wäre, wenn man statt der überladenen Property nun nur noch ein Property nutzt, welches als Parameter einen Variant besitzt und man dann intern die entsprechenden Varianten Anhand des Variant-Inhalts ausführt.
Oder man mißhandelt wieder mal die Record-Operatoren und bastelt sich einen gemischten Parameter-Typen.
Allerdings sind beide Varianten zwar möglich, aber sie sind keine "optimale" Lösung.

Schön wäre es, wenn Embarcadero dieses reparieren würde.
(aber aus Erfahrung passiert sowas eher garnicht oder man muß sich die Bugfixes mit der nächsten Delphi-Version teuer erkaufen)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu ( 8. Jan 2011 um 17:28 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 07:42 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 by Thomas Breitkreuz