diff --git a/components/lazutils/laz_xmlstreaming.pas b/components/lazutils/laz_xmlstreaming.pas index 2636cab056..c6e05952b2 100644 --- a/components/lazutils/laz_xmlstreaming.pas +++ b/components/lazutils/laz_xmlstreaming.pas @@ -28,6 +28,12 @@ uses SysUtils, Classes, TypInfo, Laz2_DOM, Laz2_XMLWrite; type + {$IF FPC_FULLVERSION>30300} + TXMLObjectWriterString = RawByteString; + {$ELSE} + TXMLObjectWriterString = String; + {$ENDIF} + TXMLObjectWriterStackElType = (elUnknown, elPropertyList, elChildrenList); TXMLObjectWriterStackEl = class @@ -76,7 +82,7 @@ type procedure WriteInteger(Value: Int64); override; procedure WriteMethodName(const Name: String); override; procedure WriteSet(Value: LongInt; SetType: Pointer); override; - procedure WriteString(const Value: String); override; + procedure WriteString(const Value: TXMLObjectWriterString); override; procedure WriteWideString(const Value: WideString); override; procedure WriteSignature; override; {$IFDEF USE_NEW_READER_WRITER} @@ -454,7 +460,7 @@ begin GetPropertyElement('set')['value'] := s; end; -procedure TXMLObjectWriter.WriteString(const Value: String); +procedure TXMLObjectWriter.WriteString(const Value: TXMLObjectWriterString); begin GetPropertyElement('string')['value'] := Value; end; diff --git a/designer/designer.pp b/designer/designer.pp index 7df3532e1d..9efe722c85 100644 --- a/designer/designer.pp +++ b/designer/designer.pp @@ -1544,9 +1544,9 @@ begin if tmpFieldN = 'Name' then begin if IsActUndo then - CompN := FUndoList[FUndoCurr].newVal + CompN := String(FUndoList[FUndoCurr].newVal) else - CompN := FUndoList[FUndoCurr].oldVal; + CompN := String(FUndoList[FUndoCurr].oldVal); end else CompN := FUndoList[FUndoCurr].compName; diff --git a/lcl/lresources.pp b/lcl/lresources.pp index ea2a3870f1..a394fd923f 100644 --- a/lcl/lresources.pp +++ b/lcl/lresources.pp @@ -226,6 +226,12 @@ type end; PLRSOWStackItem = ^TLRSOWStackItem; + {$IF FPC_FULLVERSION>30300} + TLazObjectWriterString = RawByteString; + {$ELSE} + TLazObjectWriterString = String; + {$ENDIF} + { TLRSObjectWriter } TLRSObjectWriter = class(TAbstractObjectWriter) @@ -291,7 +297,7 @@ type procedure WriteInteger(Value: Int64); override; procedure WriteMethodName(const Name: String); override; procedure WriteSet(Value: LongInt; SetType: Pointer); override; - procedure WriteString(const Value: String); override; + procedure WriteString(const Value: TLazObjectWriterString); override; procedure WriteWideString(const Value: WideString); override; procedure WriteUnicodeString(const Value: UnicodeString); override; procedure WriteVariant(const Value: Variant); override; @@ -4957,7 +4963,7 @@ begin WriteStr(''); end; -procedure TLRSObjectWriter.WriteString(const Value: String); +procedure TLRSObjectWriter.WriteString(const Value: TLazObjectWriterString); var i: Integer; b: Byte; @@ -5013,7 +5019,7 @@ begin varcurrency: WriteCurrency(Value); varolestr, varstring: - WriteString(Value); + WriteString(String(Value)); varboolean: WriteBoolean(Value); else