Создание локальной переменной через другую функцию - PullRequest
0 голосов
/ 28 июня 2018

Я использую Delphi 10.2.3 Tokyo и VCL.

Я создаю функцию, которая вызывает другую функцию для создания экземпляра локальной переменной в первой функции, например:

Procedure TForm1.SetQuery(var aQuery : TFDQuery);
begin
  if not(Assigned(aQuery)) then
    aQuery := TFDQuery.Create(self);  // Never executed ???
  aQuery.Connection := self.FDConnection1;  // Access Violation -> aQuery isn't instanciate !
end;

Procedure TForm1.DoSomething;
var
  vQry : TFDQuery;
begin
  SetQuery(vQry);

end;

Строка aQuery := TFDQuery.Create(self); никогда не выполняется. Таким образом, это приводит к нарушению прав доступа.

Чего мне не хватает?

...