Skip to content

FCL-Extra: 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].
	<fileinfo.pp>: #6
		< 64>:     procedure SetTranslation(AValue: String);
		<113>: Function TryStrToVersionQuad(S : String; Out Quad : TVersionQuad) : Boolean;
		<114>: Function TryStrToProgramVersion(S : String; Out Version : TProgramVersion) : Boolean;
		<321>: procedure TFileVersionInfo.SetTranslation(AValue: String);
		<437>: Function TryStrToProgramVersion(S : String; Out Version : TProgramVersion) : Boolean;
		<447>: Function TryStrToVersionQuad(S : String; Out Quad : TVersionQuad) : Boolean;
	<daemonapp.pp>: #6
		<418>: Procedure DaemonError(Msg : String);
		<419>: Procedure DaemonError(Fmt : String; Args : Array of const);
		<446>: Procedure DebugLog(Msg : String);
		<487>: Procedure DebugLog(Msg : String);
		<568>: procedure DaemonError(Msg: String);
		<573>: procedure DaemonError(Fmt: String; Args: array of const);
	<win/ServiceManager.pas>: #35
		< 54>:     Function FindService(ServiceName : String) : TServiceEntry;
		< 55>:     Function ServiceByName(ServiceName : String) : TServiceEntry;
		< 99>:     Procedure SMError(Msg : String);
		<100>:     Procedure CheckConnected(Msg : String);
		<112>:     function GetServiceHandle(ServiceName: String; SAccess: DWord): THandle;
		<114>:     procedure ContinueService(ServiceName : String); overload;
		<116>:     procedure StartService(ServiceName : String; Args: TStrings); overload;
		<117>:     procedure StopService(ServiceName: String; StopDependent: Boolean); overload;
		<120>:     procedure PauseService(ServiceName: String);Overload;
		<121>:     procedure CustomControlService(ServiceName : String; ControlCode : DWord); overload;
		<124>:     procedure ListDependentServices(ServiceName : String; ServiceState : DWord; List : TStrings); overload;
		<128>:     procedure QueryServiceConfig(ServiceName : String; Var Config : TServiceDescriptor);overload;
		<130>:     procedure SetStartupType(ServiceName: String; StartupType: DWord); overload;
		<132>:     Procedure UnregisterService(ServiceName : String);
		<134>:     procedure ConfigService(ServiceName : string; Config: TServiceDescriptor); overload;
		<135>:     procedure RefreshServiceStatus(ServiceName: String);
		<137>:     procedure GetServiceStatus(ServiceName : String; Var Status : TServiceStatus); overload;
		<216>: procedure TServiceManager.CheckConnected(Msg: String);
		<346>: procedure TServiceManager.SMError(Msg: String);
		<390>:   Procedure AddToResult(S : String);
		<486>: procedure TServiceManager.ListDependentServices(ServiceName : String; ServiceState : DWord; List : TStrings);
		<560>: Procedure TServiceManager.StopService(ServiceName : String; StopDependent : Boolean);
		<579>: Function TServiceManager.GetServiceHandle(ServiceName : String; SAccess : DWord) : THandle;
		<587>: procedure TServiceManager.UnregisterService(ServiceName: String);
		<614>: Procedure TServiceManager.PauseService(ServiceName : String);
		<638>: Procedure TServiceManager.ContinueService(ServiceName : String);
		<711>: Procedure TServiceManager.StartService(ServiceName : String; Args : TStrings);
		<780>: procedure TServiceManager.QueryServiceConfig(ServiceName : String; Var Config : TServiceDescriptor);
		<794>: procedure TServiceManager.SetStartupType(ServiceName : String; StartupType : DWord);
		<862>: procedure TServiceManager.GetServiceStatus(ServiceName : String; Var Status: TServiceStatus);
		<876>: procedure TServiceManager.RefreshServiceStatus(ServiceName : String);
		<890>: procedure TServiceManager.ConfigService(ServiceName : String; Config : TServiceDescriptor);
		<905>: procedure TServiceManager.CustomControlService(ServiceName: String; ControlCode: DWord);
		<934>: function TServiceEntries.FindService(ServiceName: String): TServiceEntry;
		<954>: function TServiceEntries.ServiceByName(ServiceName: String): TServiceEntry;
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information