anchor.diff:  
   procedure TConfigData.ValidateOutputFileName(const Value : String);
   begin
  -  if not TPath.HasValidFileNameChars(Value, False) then
  +  if Value.IsEmpty or not TPath.HasValidFileNameChars(Value, False) then
       raise ECDInvalidOutputFileName.Create;
   end;
   
  
positive.code: 
  procedure TConfigData.SetOutputDirectory(const Value : String);
  begin
    if FOutputDirectory <> Value then
    begin
      if FValidate then
        ValidateOutputDirectory(Value);
  
negative.code:       destructor Destroy; override;
  
        [FIToolkitParam, DefaultFixInsightExe]
        property FixInsightExe : TFileName read GetFixInsightExe write SetFixInsightExe;
        [FIToolkitParam]
        property FixInsightOptions : TFixInsightOptions read FFixInsightOptions;
        [FIToolkitParam]
        property InputFileName : TFileName read GetInputFileName write SetInputFileName;
        [FIToolkitParam, DefaultOutputDirectory]
        property OutputDirectory : String read GetOutputDirectory write SetOutputDirectory;
        [FIToolkitParam, DefaultOutputFileName(DEF_CD_STR_OUTPUT_FILENAME)]
        property OutputFileName : String read GetOutputFileName write SetOutputFileName;
        [FIToolkitParam, DefaultTempDirectory]
        property TempDirectory : String read GetTempDirectory write SetTempDirectory;
  
        property Validate : Boolean read FValidate write FValidate;
    end;
  