Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: FireDac asString definiert unterschiedlichen Datentyp in SQLite je nach OS

  Alt 17. Apr 2024, 22:59
Der TStringField hat das AsString überladen/verdeckt und gibt .... [edit] ok, dachte war beim AsString, aber es mehrere Überladungen, wo der eigentliche Property überschrieben verdeckt wird.

Delphi-Quellcode:
  TStringField = class(TField)
    ...
{$IFNDEF NEXTGEN}
    function GetValue(var Value: AnsiString): Boolean;
{$ELSE}
    function GetValue(var Value: string): Boolean;
{$ENDIF !NEXTGEN}
    ...
{$IFNDEF NEXTGEN}
    property Value: AnsiString read GetAsAnsiString write SetAsAnsiString;
{$ENDIF !NEXTGEN}
  end;

  TWideStringField = class(TStringField)
    ...
    property Value: string read GetAsWideString write SetAsWideString;
  end;
Da kommt es dann auch noch drauf an, ob du direkt eine Variable/FormField vom "richtigen" TField-Nachfahren oder eine Variable/Result, z.B. vom FieldByName, als allgemeines TField verwendest, wo du plötzlich unterschiedliche Property und somit auch ein anderes Verhalten nutzt.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu (17. Apr 2024 um 23:04 Uhr)
  Mit Zitat antworten Zitat