Enter forum description here ...
0
Planned

CONST missing for unmodified dynamic array parameter

Balázs Szakály 10 years ago updated by Roman 10 years ago 1

Like <not const> string parameters, <not const> dynamic array parameters also generate try/finally block to reference counting.

0
Started

OK Button should have a shortcut

dummzeuch 10 years ago updated by Roman 10 years ago 2

The OK-Button of the config dialog is the default button, but is doesn't have a shortcut (&OK). It should have one because if the memo has the focus, pressing enter cannot close the dialog.

0
Planned

Option to pick flag missed inherited calls to TInterfacedObject and TObject

Nicholas Ring 10 years ago updated by Roman 10 years ago 1

Currently the checking of inherited calls is disabled if the class inherits from either TInterfacedObject or TObject (because of too many false positives by some users).


What I am asking for is an option (checkbox?) to enable checking for constructors inherited calls.

0
Fixed

RAD 2007 [FixInsight Internal] Fatal parser error $I directive

Anonymous 10 years ago updated by Roman 10 years ago 2
Fatal parser error on row:
{$I file.inc};

0
Planned

Extension to "W519 Method '%s' is empty" for methods which only contain "inherited"

Nicholas Ring 10 years ago updated by Roman 10 years ago 1

While W519 is flagged when a method is empty. I am suggesting that methods the only call "inherited" should (optionally) be flagged as empty.


Examples:

The should be flagged as empty

procedure TMyForm.OnKeyDown(Sender : TObject; var Key: Word; Shift: TShiftState);
begin
  inherited;  // will call the inherited version of "OnKeyDown(Sender, Key, Shift);"
end;

Should not be flagged as empty:

procedure TMyForm.OnKeyDown(Sender : TObject; var Key: Word; Shift: TShiftState);
begin
  inherited OnSpecialKeyDown(Sender, Key, Shift);
end;
Likewise, both the following should be flagged as empty:

constructor TMyObject.Create;
begin
  inherited;
end;
constructor TMyObject.Create;
begin
  inherited Create;  // inherited call method name is the same.
end;

0
Planned

CONST missing for unmodified interface parameter 'Foo'

Balázs Szakály 10 years ago updated by Roman 10 years ago 1

Like <not const> string parameters, <not const> interface parameters also generate try/finally block to reference counting.

0
Not a bug

W519 can no longer be disabled for a method

Anonymous 10 years ago updated by Roman 10 years ago 2

With FI 2015.11 W519 (Method is empty) can no longer be disabled with the // FI:W519 comment. I already had it disabled for e.g. the following method like this:


procedure TDummySplashForm.SetAbortVisible(_Value: Boolean); //FI:W519 - do nothing

begin
// do nothing
end;

It worked with the previous version, but now the warning gets displayed again. I also tried to put the comment into the method body but that didn't work either.

Answer
Roman 10 years ago

I'm sorry for the inconvenience, but a line where this rule triggers has been changed (there was a number of users requests). You need to move your comment on the 'begin' line.


To figure out where to put your ignore-comment, double click on a warning in Messages window and see what line is highlighted.


For instance,

procedure TDummySplashForm.SetAbortVisible(_Value: Boolean); 
begin //FI:W519 - do nothing 
  // do nothing
end;
0
Planned

Empty virtual methods don't flag as "W519 Method '%s' is empty"

Nicholas Ring 10 years ago updated by Roman 10 years ago 1

When an empty method has been made virtual, it doesn't flag a "W519 Method '%s' is empty".


I would like an option (checkbox?) to enable this warning for virtual methods.

0
Fixed

Bug with multi monitor setup

Anonymous 10 years ago updated by Roman 10 years ago 3
I just downloaded the version 2015.08 and tried it. First thing I found that it has a bug in a multi monitor setup: The dialogues are shown on the primary monitor rather than the one where the Delphi IDE is running. (Tried with Delphi 2007 in case that matters.)
0
Planned

CONST missing for unmodified TGUID parameter

Balázs Szakály 10 years ago updated by Roman 10 years ago 1

TGUID is too a large data to pass on stack as value.