Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

Re: D2009: Inkompatible Typen Array und xxx

  Alt 21. Okt 2009, 12:03
Zitat von Hedge:
z.B. MaxPath durch eine Zahl ersetzen, aber das hat es auch nicht gebracht.
MAX_PATH ist eine Konstante (260) und nur weil man da eine Wert (die Größe) ändert, ändert sich nichts am Typ.

Nja, ich meinte ob du den Typen einfach verändern kannst
oder ob er genau so, als Array, definiert sein muß.


Ich hatte mir ein einem Projekt mal so beholfen
Delphi-Quellcode:
TWideString32 = packed Record
  Data: Array[1..32] of WideChar;
  Class Operator Implicit(Const Value: AnsiString): TWideString32;
  Class Operator Implicit(Const Value: WideString): TWideString32;
  Class Operator Implicit(Const Value: TWideString32): WideString;
  Class Operator Equal (Const A: TWideString32; Const B: WideString): Boolean;
  Class Operator NotEqual(Const A: TWideString32; Const B: WideString): Boolean;
End;
dieses entspricht vom Speicher her diesem
TWideString32 = Array[1..32] of WideChar; der Typ/Record kann jetzt (so wie er hier ist)
Delphi-Quellcode:
Rec := S {AnsiString};
Rec := S {WideString/UnicodeString};
S {WideString} := Rec; // und indirekt auch AnsiString
if Rec = S {WideString} then
if Rec <> S {WideString} then
und intern wird dann via MoveMemory kopiert.


[add]
ahhh, ich jetzt hab ich's doch gefunden ... wußte doch, daß es irgendwo mal was gab
[add2]
und och noch den Link vergessen
http://www.delphipraxis.net/internal...rator+implicit
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat