В чем разница между .Create и .Create () в Delphi? - PullRequest
0 голосов
/ 09 февраля 2019

Я следую в книге Павла Гловаки «Эксперт Delphi».На странице 98 он имеет следующий обработчик события onClick:

procedure TFormFavJSON.btnReadDOMClick(Sender: TObject);
var
  favs: TFavorites; valRoot: TJSONValue;  objRoot: TJSONObject;
  valFavs: TJSONValue;  arrFavs: TJSONArray;
begin
  favs := TFavorites.Create;
  //
  // Several lines of code omitted
  //
  favs.Free;
end;

Однако, когда я набираю .Cre и использую код завершения Ctrl + Пробел , среда IDE завершаеткод с набором пустых скобок.

favs := TFavorites.Create();

Итак, что из следующего является наиболее правильным?

  favs := TFavorites.Create;
  favs := TFavorites.Create();

Ответы [ 3 ]

0 голосов
/ 09 февраля 2019

Они оба одинаково правильны.Object Pascal позволяет вам опускать скобки, когда процедура или метод не требует параметров, но также позволяет включать их.Вам решать, что вы предпочитаете.

0 голосов
/ 09 февраля 2019

Они одинаковы, и оба правильны.Но если вы используете конструктор с аргументами, скобки более полезны.

0 голосов
/ 09 февраля 2019

Не имеет значения.Паскаль допускает любой синтаксис.Я предпочитаю без скобок, когда нет необходимости.

...