mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-12 07:46:00 +02:00
* correctly handle AsString if Nil had been passed to Make
git-svn-id: trunk@36983 -
This commit is contained in:
parent
31f5836e06
commit
a03b9d0fc4
@ -712,18 +712,18 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function TValue.AsString: string;
|
function TValue.AsString: string;
|
||||||
var
|
|
||||||
s: string;
|
|
||||||
begin
|
begin
|
||||||
case Kind of
|
if (Kind in [tkSString, tkAString, tkUString, tkWString]) and not Assigned(FData.FValueData) then
|
||||||
tkSString:
|
Result := ''
|
||||||
s := PShortString(FData.FValueData.GetReferenceToRawData)^;
|
|
||||||
tkAString:
|
|
||||||
s := PAnsiString(FData.FValueData.GetReferenceToRawData)^;
|
|
||||||
else
|
else
|
||||||
raise EInvalidCast.Create(SErrInvalidTypecast);
|
case Kind of
|
||||||
end;
|
tkSString:
|
||||||
result := s;
|
Result := PShortString(FData.FValueData.GetReferenceToRawData)^;
|
||||||
|
tkAString:
|
||||||
|
Result := PAnsiString(FData.FValueData.GetReferenceToRawData)^;
|
||||||
|
else
|
||||||
|
raise EInvalidCast.Create(SErrInvalidTypecast);
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TValue.AsExtended: Extended;
|
function TValue.AsExtended: Extended;
|
||||||
|
Loading…
Reference in New Issue
Block a user