You've already forked lazarus-ccr
UnicodeString Fix
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1482 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -46,9 +46,9 @@ type
|
|||||||
dtAnsiChar = 10, dtWideChar = 11, dtEnum = 12,
|
dtAnsiChar = 10, dtWideChar = 11, dtEnum = 12,
|
||||||
dtSingle = 13, dtDouble = 14, dtExtended = 15, dtCurrency = 16,
|
dtSingle = 13, dtDouble = 14, dtExtended = 15, dtCurrency = 16,
|
||||||
dtAnsiString = 17, dtWideString = 18,
|
dtAnsiString = 17, dtWideString = 18,
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
dtUnicodeString = 19,
|
dtUnicodeString = 19,
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
dtObject = 30, dtArray = 31
|
dtObject = 30, dtArray = 31
|
||||||
);
|
);
|
||||||
const
|
const
|
||||||
@ -69,9 +69,9 @@ type
|
|||||||
|
|
||||||
PAnsiStringBuffer = ^TAnsiStringBuffer;
|
PAnsiStringBuffer = ^TAnsiStringBuffer;
|
||||||
PWideStringBuffer = ^TWideStringBuffer;
|
PWideStringBuffer = ^TWideStringBuffer;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
PUnicodeStringBuffer = ^TUnicodeStringBuffer;
|
PUnicodeStringBuffer = ^TUnicodeStringBuffer;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
PObjectBuffer = ^TObjectBuffer;
|
PObjectBuffer = ^TObjectBuffer;
|
||||||
PArrayBuffer = ^TArrayBuffer;
|
PArrayBuffer = ^TArrayBuffer;
|
||||||
PDataBuffer = ^TDataBuffer;
|
PDataBuffer = ^TDataBuffer;
|
||||||
@ -98,9 +98,9 @@ type
|
|||||||
|
|
||||||
dtAnsiString : ( AnsiStrData : PAnsiStringBuffer );
|
dtAnsiString : ( AnsiStrData : PAnsiStringBuffer );
|
||||||
dtWideString : ( WideStrData : PWideStringBuffer );
|
dtWideString : ( WideStrData : PWideStringBuffer );
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
dtUnicodeString : ( UnicodeStrData : PUnicodeStringBuffer );
|
dtUnicodeString : ( UnicodeStrData : PUnicodeStringBuffer );
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
dtObject : ( ObjectData : PObjectBuffer );
|
dtObject : ( ObjectData : PObjectBuffer );
|
||||||
dtArray : ( ArrayData : PArrayBuffer );
|
dtArray : ( ArrayData : PArrayBuffer );
|
||||||
End;
|
End;
|
||||||
@ -113,11 +113,11 @@ type
|
|||||||
Data : TWideStringData;
|
Data : TWideStringData;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
TUnicodeStringBuffer = record
|
TUnicodeStringBuffer = record
|
||||||
Data : TUnicodeStringData;
|
Data : TUnicodeStringData;
|
||||||
end;
|
end;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@ -254,13 +254,13 @@ type
|
|||||||
Const ATypeInfo : PTypeInfo;
|
Const ATypeInfo : PTypeInfo;
|
||||||
Const AData : WideString
|
Const AData : WideString
|
||||||
);{$IFDEF USE_INLINE}inline;{$ENDIF}
|
);{$IFDEF USE_INLINE}inline;{$ENDIF}
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
procedure PutUnicodeStr(
|
procedure PutUnicodeStr(
|
||||||
Const AName : String;
|
Const AName : String;
|
||||||
Const ATypeInfo : PTypeInfo;
|
Const ATypeInfo : PTypeInfo;
|
||||||
Const AData : UnicodeString
|
Const AData : UnicodeString
|
||||||
);{$IFDEF USE_INLINE}inline;{$ENDIF}
|
);{$IFDEF USE_INLINE}inline;{$ENDIF}
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
procedure PutEnum(
|
procedure PutEnum(
|
||||||
Const AName : String;
|
Const AName : String;
|
||||||
Const ATypeInfo : PTypeInfo;
|
Const ATypeInfo : PTypeInfo;
|
||||||
@ -360,13 +360,13 @@ type
|
|||||||
var AName : String;
|
var AName : String;
|
||||||
var AData : WideString
|
var AData : WideString
|
||||||
) : Boolean;{$IFDEF USE_INLINE}inline;{$ENDIF}
|
) : Boolean;{$IFDEF USE_INLINE}inline;{$ENDIF}
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
function GetUnicodeStr(
|
function GetUnicodeStr(
|
||||||
const ATypeInfo : PTypeInfo;
|
const ATypeInfo : PTypeInfo;
|
||||||
var AName : String;
|
var AName : String;
|
||||||
var AData : UnicodeString
|
var AData : UnicodeString
|
||||||
) : Boolean;{$IFDEF USE_INLINE}inline;{$ENDIF}
|
) : Boolean;{$IFDEF USE_INLINE}inline;{$ENDIF}
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
function GetObj(
|
function GetObj(
|
||||||
Const ATypeInfo : PTypeInfo;
|
Const ATypeInfo : PTypeInfo;
|
||||||
Var AName : String;
|
Var AName : String;
|
||||||
@ -507,9 +507,9 @@ Begin
|
|||||||
|
|
||||||
dtAnsiString : APrinterProc( s + ARoot^.Name + ' = ' + ARoot^.AnsiStrData^.Data );
|
dtAnsiString : APrinterProc( s + ARoot^.Name + ' = ' + ARoot^.AnsiStrData^.Data );
|
||||||
dtWideString : APrinterProc( s + ARoot^.Name + ' = ' + ARoot^.WideStrData^.Data );
|
dtWideString : APrinterProc( s + ARoot^.Name + ' = ' + ARoot^.WideStrData^.Data );
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
dtUnicodeString : APrinterProc( s + ARoot^.Name + ' = ' + ARoot^.UnicodeStrData^.Data );
|
dtUnicodeString : APrinterProc( s + ARoot^.Name + ' = ' + ARoot^.UnicodeStrData^.Data );
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
dtObject :
|
dtObject :
|
||||||
Begin
|
Begin
|
||||||
APrinterProc( s + ARoot^.Name + ' = ');
|
APrinterProc( s + ARoot^.Name + ' = ');
|
||||||
@ -615,7 +615,7 @@ begin
|
|||||||
FillChar(Result^.WideStrData^,i,#0);
|
FillChar(Result^.WideStrData^,i,#0);
|
||||||
Result^.WideStrData^.Data := '';
|
Result^.WideStrData^.Data := '';
|
||||||
end;
|
end;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
dtUnicodeString :
|
dtUnicodeString :
|
||||||
begin
|
begin
|
||||||
i := SizeOf(TUnicodeStringBuffer);
|
i := SizeOf(TUnicodeStringBuffer);
|
||||||
@ -623,7 +623,7 @@ begin
|
|||||||
FillChar(Result^.UnicodeStrData^,i,#0);
|
FillChar(Result^.UnicodeStrData^,i,#0);
|
||||||
Result^.UnicodeStrData^.Data := '';
|
Result^.UnicodeStrData^.Data := '';
|
||||||
end;
|
end;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
dtObject :
|
dtObject :
|
||||||
Begin
|
Begin
|
||||||
Result^.ObjectData := wst_GetMem(SizeOf(TObjectBuffer));
|
Result^.ObjectData := wst_GetMem(SizeOf(TObjectBuffer));
|
||||||
@ -698,9 +698,9 @@ Begin
|
|||||||
|
|
||||||
dtAnsiString : ADest.WriteAnsiStr(ARoot^.AnsiStrData^.Data);
|
dtAnsiString : ADest.WriteAnsiStr(ARoot^.AnsiStrData^.Data);
|
||||||
dtWideString : ADest.WriteWideStr(ARoot^.WideStrData^.Data);
|
dtWideString : ADest.WriteWideStr(ARoot^.WideStrData^.Data);
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
dtUnicodeString : ADest.WriteUnicodeStr(ARoot^.UnicodeStrData^.Data);
|
dtUnicodeString : ADest.WriteUnicodeStr(ARoot^.UnicodeStrData^.Data);
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
dtBool : ADest.WriteBool(ARoot^.BoolData);
|
dtBool : ADest.WriteBool(ARoot^.BoolData);
|
||||||
dtAnsiChar : ADest.WriteAnsiChar(ARoot^.AnsiCharData);
|
dtAnsiChar : ADest.WriteAnsiChar(ARoot^.AnsiCharData);
|
||||||
dtWideChar : ADest.WriteWideChar(ARoot^.WideCharData);
|
dtWideChar : ADest.WriteWideChar(ARoot^.WideCharData);
|
||||||
@ -767,9 +767,9 @@ Begin
|
|||||||
|
|
||||||
dtAnsiString : Result^.AnsiStrData^.Data := AStoreRdr.ReadAnsiStr();
|
dtAnsiString : Result^.AnsiStrData^.Data := AStoreRdr.ReadAnsiStr();
|
||||||
dtWideString : Result^.WideStrData^.Data := AStoreRdr.ReadWideStr();
|
dtWideString : Result^.WideStrData^.Data := AStoreRdr.ReadWideStr();
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
dtUnicodeString : Result^.UnicodeStrData^.Data := AStoreRdr.ReadUnicodeStr();
|
dtUnicodeString : Result^.UnicodeStrData^.Data := AStoreRdr.ReadUnicodeStr();
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
dtBool : Result^.BoolData := AStoreRdr.ReadBool();
|
dtBool : Result^.BoolData := AStoreRdr.ReadBool();
|
||||||
dtAnsiChar : Result^.AnsiCharData := AStoreRdr.ReadAnsiChar();
|
dtAnsiChar : Result^.AnsiCharData := AStoreRdr.ReadAnsiChar();
|
||||||
dtWideChar : Result^.WideCharData := AStoreRdr.ReadWideChar();
|
dtWideChar : Result^.WideCharData := AStoreRdr.ReadWideChar();
|
||||||
@ -856,14 +856,14 @@ Begin
|
|||||||
Freemem(AOwner^.WideStrData);
|
Freemem(AOwner^.WideStrData);
|
||||||
AOwner^.WideStrData := Nil;
|
AOwner^.WideStrData := Nil;
|
||||||
end;
|
end;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
dtUnicodeString :
|
dtUnicodeString :
|
||||||
begin
|
begin
|
||||||
AOwner^.UnicodeStrData^.Data := '';
|
AOwner^.UnicodeStrData^.Data := '';
|
||||||
Freemem(AOwner^.UnicodeStrData);
|
Freemem(AOwner^.UnicodeStrData);
|
||||||
AOwner^.UnicodeStrData := Nil;
|
AOwner^.UnicodeStrData := Nil;
|
||||||
end;
|
end;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
dtObject :
|
dtObject :
|
||||||
Begin
|
Begin
|
||||||
FreeObjectBuffer(AOwner^.ObjectData);
|
FreeObjectBuffer(AOwner^.ObjectData);
|
||||||
@ -1093,7 +1093,7 @@ begin
|
|||||||
StackTop().CreateBuffer(AName,dtWideString)^.WideStrData^.Data := AData;
|
StackTop().CreateBuffer(AName,dtWideString)^.WideStrData^.Data := AData;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
procedure TBaseBinaryFormatter.PutUnicodeStr(
|
procedure TBaseBinaryFormatter.PutUnicodeStr(
|
||||||
const AName: String;
|
const AName: String;
|
||||||
const ATypeInfo: PTypeInfo;
|
const ATypeInfo: PTypeInfo;
|
||||||
@ -1102,7 +1102,7 @@ procedure TBaseBinaryFormatter.PutUnicodeStr(
|
|||||||
begin
|
begin
|
||||||
StackTop().CreateBuffer(AName,dtUnicodeString)^.UnicodeStrData^.Data := AData;
|
StackTop().CreateBuffer(AName,dtUnicodeString)^.UnicodeStrData^.Data := AData;
|
||||||
end;
|
end;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
|
|
||||||
procedure TBaseBinaryFormatter.PutEnum(
|
procedure TBaseBinaryFormatter.PutEnum(
|
||||||
const AName: String;
|
const AName: String;
|
||||||
@ -1320,8 +1320,14 @@ var
|
|||||||
locBuffer : PDataBuffer;
|
locBuffer : PDataBuffer;
|
||||||
begin
|
begin
|
||||||
Result := GetDataBuffer(AName,locBuffer);
|
Result := GetDataBuffer(AName,locBuffer);
|
||||||
if Result then
|
if Result then begin
|
||||||
AData := locBuffer^.AnsiStrData^.Data;
|
case locBuffer^.DataType of
|
||||||
|
dtUnicodeString : AData := locBuffer^.UnicodeStrData^.Data;
|
||||||
|
dtWideString : AData := locBuffer^.WideStrData^.Data;
|
||||||
|
else
|
||||||
|
AData := locBuffer^.AnsiStrData^.Data;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TBaseBinaryFormatter.GetWideStr(
|
function TBaseBinaryFormatter.GetWideStr(
|
||||||
@ -1333,11 +1339,17 @@ var
|
|||||||
locBuffer : PDataBuffer;
|
locBuffer : PDataBuffer;
|
||||||
begin
|
begin
|
||||||
Result := GetDataBuffer(AName,locBuffer);
|
Result := GetDataBuffer(AName,locBuffer);
|
||||||
if Result then
|
if Result then begin
|
||||||
AData := locBuffer^.WideStrData^.Data;
|
case locBuffer^.DataType of
|
||||||
|
dtAnsiString : AData := locBuffer^.AnsiStrData^.Data;
|
||||||
|
dtUnicodeString : AData := locBuffer^.UnicodeStrData^.Data;
|
||||||
|
else
|
||||||
|
AData := locBuffer^.WideStrData^.Data;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
function TBaseBinaryFormatter.GetUnicodeStr(
|
function TBaseBinaryFormatter.GetUnicodeStr(
|
||||||
const ATypeInfo: PTypeInfo;
|
const ATypeInfo: PTypeInfo;
|
||||||
var AName: String;
|
var AName: String;
|
||||||
@ -1347,10 +1359,16 @@ var
|
|||||||
locBuffer : PDataBuffer;
|
locBuffer : PDataBuffer;
|
||||||
begin
|
begin
|
||||||
Result := GetDataBuffer(AName,locBuffer);
|
Result := GetDataBuffer(AName,locBuffer);
|
||||||
if Result then
|
if Result then begin
|
||||||
AData := locBuffer^.UnicodeStrData^.Data;
|
case locBuffer^.DataType of
|
||||||
|
dtAnsiString : AData := locBuffer^.AnsiStrData^.Data;
|
||||||
|
dtWideString : AData := locBuffer^.WideStrData^.Data;
|
||||||
|
else
|
||||||
|
AData := locBuffer^.UnicodeStrData^.Data;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
end;
|
end;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
|
|
||||||
function TBaseBinaryFormatter.GetObj(
|
function TBaseBinaryFormatter.GetObj(
|
||||||
const ATypeInfo: PTypeInfo;
|
const ATypeInfo: PTypeInfo;
|
||||||
@ -1530,7 +1548,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
||||||
Begin
|
Begin
|
||||||
ansiStrData := String(AData);
|
ansiStrData := AnsiString(AData);
|
||||||
PutAnsiStr(AName,ATypeInfo,ansiStrData);
|
PutAnsiStr(AName,ATypeInfo,ansiStrData);
|
||||||
End;
|
End;
|
||||||
tkWString :
|
tkWString :
|
||||||
@ -1659,7 +1677,7 @@ begin
|
|||||||
end;
|
end;
|
||||||
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
||||||
begin
|
begin
|
||||||
strData := string(AData);
|
strData := AnsiString(AData);
|
||||||
StackTop().CreateInnerBuffer(dtAnsiString)^.AnsiStrData^.Data := strData;
|
StackTop().CreateInnerBuffer(dtAnsiString)^.AnsiStrData^.Data := strData;
|
||||||
end;
|
end;
|
||||||
tkWString :
|
tkWString :
|
||||||
@ -1838,7 +1856,7 @@ begin
|
|||||||
strData := '';
|
strData := '';
|
||||||
Result := GetAnsiStr(ATypeInfo,AName,strData);
|
Result := GetAnsiStr(ATypeInfo,AName,strData);
|
||||||
if Result then
|
if Result then
|
||||||
String(AData) := strData;
|
AnsiString(AData) := strData;
|
||||||
End;
|
End;
|
||||||
tkWString :
|
tkWString :
|
||||||
begin
|
begin
|
||||||
@ -1973,10 +1991,34 @@ begin
|
|||||||
tkLString
|
tkLString
|
||||||
{$IFDEF FPC},
|
{$IFDEF FPC},
|
||||||
tkAString
|
tkAString
|
||||||
{$ENDIF} : string(AData) := dataBuffer^.AnsiStrData^.Data;
|
{$ENDIF} :
|
||||||
tkWString : WideString(AData) := dataBuffer^.WideStrData^.Data;
|
begin
|
||||||
|
case dataBuffer^.DataType of
|
||||||
|
dtUnicodeString : AnsiString(AData) := dataBuffer^.UnicodeStrData^.Data;
|
||||||
|
dtWideString : AnsiString(AData) := dataBuffer^.WideStrData^.Data;
|
||||||
|
else
|
||||||
|
AnsiString(AData) := dataBuffer^.AnsiStrData^.Data;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
|
tkWString :
|
||||||
|
begin
|
||||||
|
case dataBuffer^.DataType of
|
||||||
|
dtUnicodeString : WideString(AData) := dataBuffer^.UnicodeStrData^.Data;
|
||||||
|
dtAnsiString : WideString(AData) := dataBuffer^.AnsiStrData^.Data;
|
||||||
|
else
|
||||||
|
WideString(AData) := dataBuffer^.WideStrData^.Data;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{$IFDEF WST_UNICODESTRING}
|
||||||
tkUString : UnicodeString(AData) := dataBuffer^.UnicodeStrData^.Data;
|
tkUString :
|
||||||
|
begin
|
||||||
|
case dataBuffer^.DataType of
|
||||||
|
dtAnsiString : UnicodeString(AData) := dataBuffer^.AnsiStrData^.Data;
|
||||||
|
dtWideString : UnicodeString(AData) := dataBuffer^.WideStrData^.Data;
|
||||||
|
else
|
||||||
|
UnicodeString(AData) := dataBuffer^.UnicodeStrData^.Data;
|
||||||
|
end;
|
||||||
|
end;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{$ENDIF WST_UNICODESTRING}
|
||||||
|
|
||||||
tkClass, tkRecord : raise EBinaryFormatterException.Create(SERR_InnerScopeMustBeSimpleType);
|
tkClass, tkRecord : raise EBinaryFormatterException.Create(SERR_InnerScopeMustBeSimpleType);
|
||||||
|
@ -5206,7 +5206,13 @@ begin
|
|||||||
ok := ( GetInt64Prop(Self,p^.Name) = GetInt64Prop(ACompareTo,p^.Name) );
|
ok := ( GetInt64Prop(Self,p^.Name) = GetInt64Prop(ACompareTo,p^.Name) );
|
||||||
{$IFDEF HAS_TKBOOL}tkBool,{$ENDIF} tkEnumeration, tkInteger :
|
{$IFDEF HAS_TKBOOL}tkBool,{$ENDIF} tkEnumeration, tkInteger :
|
||||||
ok := ( GetOrdProp(Self,p^.Name) = GetOrdProp(ACompareTo,p^.Name) );
|
ok := ( GetOrdProp(Self,p^.Name) = GetOrdProp(ACompareTo,p^.Name) );
|
||||||
tkLString{$IFDEF FPC}, tkAString{$ENDIF} :
|
{$IFDEF FPC}
|
||||||
|
tkAString,
|
||||||
|
{$ENDIF FPC}
|
||||||
|
{$IFDEF WST_UNICODESTRING}
|
||||||
|
tkUString,
|
||||||
|
{$ENDIF WST_UNICODESTRING}
|
||||||
|
tkLString :
|
||||||
ok := ( GetStrProp(Self,p^.Name) = GetStrProp(ACompareTo,p^.Name) );
|
ok := ( GetStrProp(Self,p^.Name) = GetStrProp(ACompareTo,p^.Name) );
|
||||||
tkClass :
|
tkClass :
|
||||||
begin
|
begin
|
||||||
|
@ -1820,7 +1820,7 @@ begin
|
|||||||
{$ENDIF HAS_QWORD}
|
{$ENDIF HAS_QWORD}
|
||||||
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
||||||
Begin
|
Begin
|
||||||
strData := String(AData);
|
strData := AnsiString(AData);
|
||||||
PutStr(ANameSpace,AName,ATypeInfo,strData);
|
PutStr(ANameSpace,AName,ATypeInfo,strData);
|
||||||
End;
|
End;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{$IFDEF WST_UNICODESTRING}
|
||||||
@ -1949,7 +1949,7 @@ begin
|
|||||||
{$ENDIF HAS_QWORD}
|
{$ENDIF HAS_QWORD}
|
||||||
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
||||||
begin
|
begin
|
||||||
strData := string(AData);
|
strData := AnsiString(AData);
|
||||||
dataBuffer := strData;
|
dataBuffer := strData;
|
||||||
end;
|
end;
|
||||||
tkWString :
|
tkWString :
|
||||||
@ -2087,7 +2087,7 @@ begin
|
|||||||
strData := '';
|
strData := '';
|
||||||
Result := GetStr(ATypeInfo,ANameSpace,AName,strData);
|
Result := GetStr(ATypeInfo,ANameSpace,AName,strData);
|
||||||
if Result then
|
if Result then
|
||||||
String(AData) := strData;
|
AnsiString(AData) := strData;
|
||||||
End;
|
End;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{$IFDEF WST_UNICODESTRING}
|
||||||
tkUString :
|
tkUString :
|
||||||
@ -2222,7 +2222,7 @@ begin
|
|||||||
{$IFDEF HAS_QWORD}
|
{$IFDEF HAS_QWORD}
|
||||||
tkQWord : QWord(AData) := StrToQWordDef(Trim(dataBuffer),0);
|
tkQWord : QWord(AData) := StrToQWordDef(Trim(dataBuffer),0);
|
||||||
{$ENDIF HAS_QWORD}
|
{$ENDIF HAS_QWORD}
|
||||||
tkLString{$IFDEF FPC},tkAString{$ENDIF} : string(AData) := dataBuffer;
|
tkLString{$IFDEF FPC},tkAString{$ENDIF} : AnsiString(AData) := dataBuffer;
|
||||||
tkWString : WideString(AData) := dataBuffer;
|
tkWString : WideString(AData) := dataBuffer;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{$IFDEF WST_UNICODESTRING}
|
||||||
tkUString : UnicodeString(AData) := dataBuffer;
|
tkUString : UnicodeString(AData) := dataBuffer;
|
||||||
|
@ -1433,7 +1433,7 @@ begin
|
|||||||
{$ENDIF HAS_QWORD}
|
{$ENDIF HAS_QWORD}
|
||||||
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
||||||
Begin
|
Begin
|
||||||
strData := String(AData);
|
strData := AnsiString(AData);
|
||||||
PutStr(AName,ATypeInfo,strData);
|
PutStr(AName,ATypeInfo,strData);
|
||||||
End;
|
End;
|
||||||
tkWString :
|
tkWString :
|
||||||
@ -1562,7 +1562,7 @@ begin
|
|||||||
{$ENDIF HAS_QWORD}
|
{$ENDIF HAS_QWORD}
|
||||||
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
tkLString{$IFDEF FPC},tkAString{$ENDIF} :
|
||||||
begin
|
begin
|
||||||
strData := string(AData);
|
strData := AnsiString(AData);
|
||||||
dataBuffer := strData;
|
dataBuffer := strData;
|
||||||
end;
|
end;
|
||||||
tkWString :
|
tkWString :
|
||||||
@ -1706,7 +1706,7 @@ begin
|
|||||||
strData := '';
|
strData := '';
|
||||||
Result := GetStr(ATypeInfo,AName,strData);
|
Result := GetStr(ATypeInfo,AName,strData);
|
||||||
if Result then
|
if Result then
|
||||||
String(AData) := strData;
|
AnsiString(AData) := strData;
|
||||||
End;
|
End;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{$IFDEF WST_UNICODESTRING}
|
||||||
tkUString :
|
tkUString :
|
||||||
@ -1842,7 +1842,7 @@ begin
|
|||||||
{$IFDEF HAS_QWORD}
|
{$IFDEF HAS_QWORD}
|
||||||
tkQWord : QWord(AData) := StrToQWordDef(Trim(dataBuffer),0);
|
tkQWord : QWord(AData) := StrToQWordDef(Trim(dataBuffer),0);
|
||||||
{$ENDIF HAS_QWORD}
|
{$ENDIF HAS_QWORD}
|
||||||
tkLString{$IFDEF FPC},tkAString{$ENDIF} : string(AData) := dataBuffer;
|
tkLString{$IFDEF FPC},tkAString{$ENDIF} : AnsiString(AData) := dataBuffer;
|
||||||
tkWString : WideString(AData) := dataBuffer;
|
tkWString : WideString(AData) := dataBuffer;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{$IFDEF WST_UNICODESTRING}
|
||||||
tkUString : UnicodeString(AData) := dataBuffer;
|
tkUString : UnicodeString(AData) := dataBuffer;
|
||||||
|
@ -34,6 +34,10 @@ Type
|
|||||||
TWideStringData = WideString;
|
TWideStringData = WideString;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{$IFDEF WST_UNICODESTRING}
|
||||||
TUnicodeStringData = UnicodeString;
|
TUnicodeStringData = UnicodeString;
|
||||||
|
{$ELSE WST_UNICODESTRING}
|
||||||
|
UnicodeString = WideString;
|
||||||
|
TUnicodeStringData = UnicodeString;
|
||||||
|
UnicodeChar = WideChar;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{$ENDIF WST_UNICODESTRING}
|
||||||
TAnsiCharacter = AnsiChar;
|
TAnsiCharacter = AnsiChar;
|
||||||
TWideCharacter = WideChar;
|
TWideCharacter = WideChar;
|
||||||
@ -64,9 +68,9 @@ Type
|
|||||||
procedure WriteEnum(Const AData : TEnumData);
|
procedure WriteEnum(Const AData : TEnumData);
|
||||||
procedure WriteAnsiStr(Const AData : TAnsiStringData);
|
procedure WriteAnsiStr(Const AData : TAnsiStringData);
|
||||||
procedure WriteWideStr(Const AData : TWideStringData);
|
procedure WriteWideStr(Const AData : TWideStringData);
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
procedure WriteUnicodeStr(Const AData : TUnicodeStringData);
|
procedure WriteUnicodeStr(Const AData : TUnicodeStringData);
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
procedure WriteBinary(const AData : TByteDynArray);
|
procedure WriteBinary(const AData : TByteDynArray);
|
||||||
|
|
||||||
procedure WriteSingle(Const AData : TFloat_Single_4);
|
procedure WriteSingle(Const AData : TFloat_Single_4);
|
||||||
@ -96,9 +100,9 @@ Type
|
|||||||
function ReadEnum():TEnumData;
|
function ReadEnum():TEnumData;
|
||||||
function ReadAnsiStr():TAnsiStringData;
|
function ReadAnsiStr():TAnsiStringData;
|
||||||
function ReadWideStr():TWideStringData;
|
function ReadWideStr():TWideStringData;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
function ReadUnicodeStr():TUnicodeStringData;
|
function ReadUnicodeStr():TUnicodeStringData;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
function ReadBinary() : TByteDynArray;
|
function ReadBinary() : TByteDynArray;
|
||||||
|
|
||||||
function ReadSingle():TFloat_Single_4;
|
function ReadSingle():TFloat_Single_4;
|
||||||
@ -231,9 +235,9 @@ Type
|
|||||||
procedure WriteEnum(Const AData : TEnumData);
|
procedure WriteEnum(Const AData : TEnumData);
|
||||||
procedure WriteAnsiStr(Const AData : TAnsiStringData);
|
procedure WriteAnsiStr(Const AData : TAnsiStringData);
|
||||||
procedure WriteWideStr(Const AData : TWideStringData);
|
procedure WriteWideStr(Const AData : TWideStringData);
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
procedure WriteUnicodeStr(Const AData : TUnicodeStringData);
|
procedure WriteUnicodeStr(Const AData : TUnicodeStringData);
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
procedure WriteBinary(const AData : TByteDynArray);
|
procedure WriteBinary(const AData : TByteDynArray);
|
||||||
|
|
||||||
procedure WriteSingle(Const AData : TFloat_Single_4);
|
procedure WriteSingle(Const AData : TFloat_Single_4);
|
||||||
@ -269,9 +273,9 @@ Type
|
|||||||
function ReadEnum():TEnumData;
|
function ReadEnum():TEnumData;
|
||||||
function ReadAnsiStr():TAnsiStringData;
|
function ReadAnsiStr():TAnsiStringData;
|
||||||
function ReadWideStr():TWideStringData;
|
function ReadWideStr():TWideStringData;
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
function ReadUnicodeStr():TUnicodeStringData;
|
function ReadUnicodeStr():TUnicodeStringData;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
function ReadBinary() : TByteDynArray;
|
function ReadBinary() : TByteDynArray;
|
||||||
|
|
||||||
function ReadSingle():TFloat_Single_4;
|
function ReadSingle():TFloat_Single_4;
|
||||||
@ -452,7 +456,7 @@ begin
|
|||||||
FStream.Write(AData[0],i);
|
FStream.Write(AData[0],i);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
procedure TDataStore.WriteUnicodeStr(const AData: TUnicodeStringData);
|
procedure TDataStore.WriteUnicodeStr(const AData: TUnicodeStringData);
|
||||||
|
|
||||||
procedure LocalWrite();
|
procedure LocalWrite();
|
||||||
@ -474,7 +478,7 @@ begin
|
|||||||
LocalWrite();
|
LocalWrite();
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
|
|
||||||
{
|
{
|
||||||
procedure TDataStore.WriteSingle(const AData: TFloat_Single_4);
|
procedure TDataStore.WriteSingle(const AData: TFloat_Single_4);
|
||||||
@ -642,7 +646,7 @@ begin
|
|||||||
FStream.ReadBuffer(Result[0],i);
|
FStream.ReadBuffer(Result[0],i);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF WST_UNICODESTRING}
|
{ $IFDEF WST_UNICODESTRING}
|
||||||
function TDataStoreReader.ReadUnicodeStr(): TUnicodeStringData;
|
function TDataStoreReader.ReadUnicodeStr(): TUnicodeStringData;
|
||||||
var
|
var
|
||||||
i : TInt32S;
|
i : TInt32S;
|
||||||
@ -654,7 +658,7 @@ begin
|
|||||||
Reverse_Array(Pointer(Result)^,i,SizeOf(UnicodeChar));
|
Reverse_Array(Pointer(Result)^,i,SizeOf(UnicodeChar));
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
{$ENDIF WST_UNICODESTRING}
|
{ $ENDIF WST_UNICODESTRING}
|
||||||
|
|
||||||
{$HINTS OFF}
|
{$HINTS OFF}
|
||||||
function TDataStoreReader.ReadSingle(): TFloat_Single_4;
|
function TDataStoreReader.ReadSingle(): TFloat_Single_4;
|
||||||
|
Reference in New Issue
Block a user