Skip to content

FCL-Base: many non-const string params

Continuation of #40047 (closed). In SUBJ package using the same RegEx, I found many non-const str params. Full log:

+Search "[\(;]\s*\w+\s*:\s*string". Report with [styles].
	<avl_tree.pp>: #2
		<1120>:   procedure E(Msg: string);
		<1356>:   procedure E(Msg: string);
	<fpobserver.pp>: #2
		< 371>:     function RegisterMediator(MediatorClass: TMediatorClass; MinSubjectClass: TClass; PropertyName: string): TMediatorDef; overload;
		< 952>: function TMediatorManager.RegisterMediator(MediatorClass: TMediatorClass; MinSubjectClass: TClass; PropertyName: string): TMediatorDef;
	<streamcoll.pp>: #6
		<  27>:     Procedure WriteString(S : TStream; AValue : String);
		<  47>:     Procedure WriteString(S : TStream; AValue : String);
		<  71>: Procedure ColWriteString(S : TStream; AValue : String);
		<  99>: Procedure ColWriteString(S : TStream; AValue : String);
		< 234>: procedure TStreamCollectionItem.WriteString(S: TStream; AValue: String);
		< 352>: procedure TStreamCollection.WriteString(S: TStream; AValue: String);
	<inicol.pp>: #14
		<  31>:     Procedure SaveToIni(Ini: TCustomInifile; Section : String); Virtual; Abstract;
		<  32>:     Procedure LoadFromIni(Ini: TCustomInifile; Section : String); Virtual; Abstract;
		<  33>:     Procedure SaveToFile(FileName : String; Section : String);
		<  34>:     Procedure LoadFromFile(FileName : String; Section : String);
		<  48>:     Procedure SaveToIni(Ini: TCustomInifile; Section : String); virtual;
		<  49>:     Procedure SaveToFile(AFileName : String; Section : String);
		<  50>:     Procedure LoadFromIni(Ini: TCustomInifile; Section : String); virtual;
		<  51>:     Procedure LoadFromFile(AFileName : String; Section : String);
		< 161>: procedure TIniCollection.LoadFromIni(Ini: TCustomInifile; Section: String);
		< 210>: procedure TIniCollection.SaveToIni(Ini: TCustomInifile; Section: String);
	<pascodegen.pp>: #2
		<  70>:     Function MakePascalString(S: String; AddQuotes: Boolean=False): String;
		< 376>: function TPascalCodeGenerator.MakePascalString(S: String; AddQuotes: Boolean
	<eventlog.pp>: #1
		<  80>:     Function RegisterMessageFile(AFileName : String) : Boolean; virtual;
	<inifiles.pp>: #1
		< 706>: function IndexOfString(A : TStringArray; S : String) : integer;
	<fptemplate.pp>: #10
		<  65>:     function GetValue(Key : String): String;
		<  69>:     procedure SetValue(Key : String; const AValue: String);
		<  70>:     Function IntParseString(Src : String) : String;
		<  78>:     Function ParseString(Src : String) : String;
		< 166>:     Constructor Create(AValue : String);
		< 172>: constructor TStringItem.Create(AValue: String);
		< 179>: function TTemplateParser.GetValue(Key : String): String;
		< 244>: procedure TTemplateParser.SetValue(Key : String; const AValue: String);
		< 449>: function TTemplateParser.ParseString(Src: String): String;
		< 455>: function TTemplateParser.IntParseString(Src: String): String;
	<custapp.pp>: #3
		<  44>:     function GetEnvironmentVar(VarName : String): String;
		< 198>: function TCustomApplication.GetEnvironmentVar(VarName : String): String;
		< 554>:   Function FindLongOpt(S : String) : boolean;
	<gettext.pp>: #4
		<  65>:     function Translate(AOrig: String; AHash: LongWord): String;
		<  66>:     function Translate(AOrig: String): String;
		< 247>: function TMOFile.Translate(AOrig: String; AHash: LongWord): String;
		< 252>: function TMOFile.Translate(AOrig: String): String;
	<whtml.pp>: #2
		<  29>:     Function EscapeText (AText : String) : String; override;
		< 136>: function THTMLWriter.EscapeText(AText: String): String;
	<contnrs.pp>: #6
		< 446>:   TStringIteratorMethod = Procedure(Item: String; const Key: string; var Continue: Boolean) of object;
		< 447>:   TStringIteratorCallback = Procedure(Item: String; const Key: string; var Continue: Boolean);
		< 452>:     Procedure CallbackIterator(Item: String; const Key: string; var Continue: Boolean);
		< 549>:     Procedure Error(Msg : String; Args : Array of Const);
		<2343>: Procedure TFPStringHashTable.CallbackIterator(Item: String; const Key: string; var Continue: Boolean);
		<2561>: Procedure TCustomBucketList.Error(Msg: String; Args: array of const);
	<rtfpars.pp>: #8
		<  26>: type Trtferrorhandler = Procedure (s : string) of object;
		<  53>:     Procedure Error (msg : String);
		<  65>:     Procedure Lookup (S : String);
		<  86>:     Procedure SetToken (Aclass, major, minor, param : Integer; text : string);
		< 115>: Function Hash (s : String) : Integer;
		< 633>: Procedure TRTFParser.SetToken (Aclass, major, minor, param : Integer; text : string);
		<1035>: Procedure TRTFParser.Lookup (S : String);
		<1059>: Procedure TRTFParser.Error (msg : String);
	<wtex.pp>: #2
		<  35>:     Function EscapeText (AText : String) : String; override;
		< 134>: function TTexWriter.EscapeText(AText: String): String;
	<wformat.pp>: #4
		<  32>:     Function EscapeText (AText : String) : String; Virtual;
		<  43>:     Procedure Header(Alevel : Integer; Msg : String);
		< 146>: Function TFormattingWriter.EscapeText(AText: String) : String;
		< 151>: procedure TFormattingWriter.Header(Alevel: Integer; Msg: String);
	<maskutils.pp>: #11
		<  88>:     procedure SetMask(AValue: String);
		<  90>:     function GetTextWithoutMask(AValue: String) : String;
		<  91>:     function GetTextWithoutSpaceChar(AValue: String) : String;
		<  94>:     procedure SetValue(AValue: String);
		<  97>:     function ApplyMaskToText(AValue: String): String;
		< 140>: procedure SplitEditMask(AEditMask: String; out AMaskPart: String; out AMaskSave: Boolean; out ASpaceChar: Char);
		< 341>: procedure TMaskUtils.SetMask(AValue: String);
		< 531>: function TMaskUtils.GetTextWithoutMask(AValue: String): String;
		< 566>: function TMaskUtils.GetTextWithoutSpaceChar(AValue: String): String;
		< 592>: procedure TMaskUtils.SetValue(AValue: String);
		< 623>: function TMaskUtils.ApplyMaskToText(AValue: String): String;
	<fpexprpars.pp>: #17
		<  63>:     procedure ScanError(Msg: String);
		< 469>:     Constructor CreateString(AValue : String);
		< 582>:     Function AddVariable(Const AName : ShortString; AResultType : TResultType; AValue : String) : TFPExprIdentifierDef;
		< 587>:     Function AddStringVariable(Const AName : ShortString; AValue : String) : TFPExprIdentifierDef;
		< 745>:     procedure ParserError(Msg: String);
		< 810>:     Function AddVariable(Const ACategory : TBuiltInCategory; Const AName : ShortString; AResultType : TResultType; AValue : String) : TFPBuiltInExprIdentifierDef;
		< 815>:     Function AddStringVariable(Const ACategory : TBuiltInCategory; Const AName : ShortString; AValue : String) : TFPBuiltInExprIdentifierDef;
		< 821>:     Function Remove(aIdentifier : String) : Integer;
		< 912>: Procedure RaiseParserError(Msg : String);
		< 917>: Procedure RaiseParserError(Fmt : String; Args : Array of const);
		<1321>: Procedure TFPExpressionScanner.ScanError(Msg : String);
		<1671>: procedure TFPExpressionParser.ParserError(Msg: String);
		<2282>:   AResultType: TResultType; AValue: String): TFPExprIdentifierDef;
		<2693>:   const AName: ShortString; AResultType: TResultType; AValue: String
		<2732>:   const ACategory: TBuiltInCategory; const AName: ShortString; AValue: String
		<2776>: function TExprBuiltInManager.Remove(aIdentifier: String): Integer;
		<2894>: constructor TFPConstExpression.CreateString(AValue: String);
	<dummy/eventlog.inc>: #1
		<  41>: Function TEventLog.RegisterMessageFile(AFileName : String) : Boolean;
	<win/eventlog.inc>: #1
		<  73>: Function TEventLog.RegisterMessageFile(AFileName : String) : Boolean;
	<os2/eventlog.inc>: #1
		< 225>: Function TEventLog.RegisterMessageFile(AFileName : String) : Boolean;
	<unix/eventlog.inc>: #1
		<  92>: Function TEventLog.RegisterMessageFile(AFileName : String) : Boolean;
	<wince/fileinfo.pp>: #2
		<  55>:      function getVersionSetting(inp : string): String;
		< 159>: function TFileVersionInfo.getVersionSetting(inp : string): String;
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information