Enter forum description here ...
0

still W511 false positivies (Object created in try block)

dummzeuch 10 years ago 0

The simple cases seem to be fixed but I have still got a warning that's wrong:


Layer := nil;

sl := TStringList.Create;
try

// some code (but no new try statement)

Layer := TSigUniGPSLayer.Create(Labe.AsString, NameValueList);

// some more code

finally

end;


I can provide a test case by email if necessary.

0
Answered

FixInsight also for Delphi 2007

Anonymous 10 years ago updated by Roman 10 years ago 7
It would be nice, to have FixInsight also for Delphi 2007 (yes, I know it's a very old version, but there is the unicode problem ....)
0
Under review

New units are not taken into account

Uwe Schuster 10 years ago updated by Roman 10 years ago 1
Unsaved changes in the Code Editor are taken into account, but new units, which does not yet exist on disk are not taken into account.

Steps:
- create a new app
- add something to the code that is supposed to generate a FixInsight warning
- run FixInsight

Expected: the supposed warning is generated
Actual: no warning is generated

- save the project
- run FixInsight again

Expected: the supposed warning is generated
Actual: as expected
0

Add a unit to the ignore list from the FixInsight result window

dummzeuch 10 years ago updated by Uwe Schuster 10 years ago 1
If I encounter a (3rd party) unit with lots of warnings and decide I would like to add it to the ignore list, it would be nice to have a context menu entry that allows me to do that from results window. Ideally this should also remove the entries for this unit from the results window.

Thinking about it: It would be nice to select some lines in the result window and delete them from the context menu.
0
Fixed

Command line client always exits with zero

Lübbe Onken 10 years ago updated by Roman 10 years ago 8
This happens with FixInsightCL version 2015.02upd1

I call the command line client from a NAnt script. The intention is to fail the build when a file can not be parsed by FixInsight.

For debugging purposes I currently capture the exit code in a result property and print it to the console.
  • When I introduce a parser error in the .dpr file (e.g. insert '###' in any line), FixInsightCL reports "Failed to parse <file>.dpr", but still exits with zero. Would have expected exit code 1 or 2 here.
  • When I introduce a parser error in any of the project files, Fixinsight writes "<file>.pas Fatal parser error" into the log file and exits with zero. Would have expected exit code 1 here.
0
Completed

New option: No output file if no errors found.

Kai Frentzel 10 years ago updated by Roman 10 years ago 2
If no errors are found, the Output File contains:
<? xml version = "1.0"?>
<FixInsightReport version = "2015.04" />
Optionally, it would be good to suppress the XML creation.
0
Fixed

[W527] False positive

Lübbe Onken 10 years ago updated by HFUKUSHI 9 years ago 12
W527 returns a false positive when an encapsulated object with the same property name is accessed in the getter/setter.

Example:
TMyObj = class
private
  FSubObject : TSubObject;
  function GetText: String;
public
  property Text:string read GetText;
end;

function TMyObj.GetText: String;
begin
  try
    Result := FSubObject.Text
  except
    Result := 'Not Assigned';
  end
end;
0

Warning when object is accessed after being freed

Lübbe Onken 10 years ago 0

In an attempt to catch the classic:


begin
  X := TMyObject.Create;
  try
    DoSomethingWith(X);
  finally
    X.Free;
  end;
  ...
  DoSomethingMore;
  ...
  DoSomethingElseWith(X);  <-- A warning would be nice here
end;
0
Planned

[W801] False positive when modifying characters in string

Anonymous 10 years ago updated by Roman 10 years ago 1

Code sample

function UpCaseStr(S:string):string;
var i:integer;
begin
for i := 1 to Length(s) do

s[i]:=ffUpCase(s[i]);
result:=s;
end;

0
Fixed

Fatal parse error with functions or procedures starting with an umlaut

Anonymous 10 years ago updated by Roman 10 years ago 2
Our code contains several functions and procedures thtat start with german Umlauts (e.g. "procedure ÜbernehmeMindestAbbremsungen". 

If FixInsight encounters one of these, it bails out on the whole unit with a "fatal parse error", and no additional checks are made, which results in the whole unit not being checked with FixInsight.