Я использую 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);
никогда не выполняется. Таким образом, это приводит к нарушению прав доступа.
Чего мне не хватает?