вторник, 21 октября 2014 г.

Нынче в моде задачки про интерфейсы. Hello FireMonkey

Из нового :) FireMonkey.
Есть такой код :
type
 TfmGUITestRunner = class(TForm)
 ...
 protected
  FSuite: ITest;
  procedure SetSuite(Value: ITest);  
 ...  
 public
  property Suite: ITest read FSuite write SetSuite;
 end;  

procedure RunTestModeless(aTest: ITest);
var
 l_GUI: TfmGUITestRunner;
begin
 Application.CreateForm(TfmGUITestRunner, l_GUI);
 l_GUI.Suite := aTest;
 l_GUI.Show;
end;
...
procedure TfmGUITestRunner.SetSuite(Value: ITest);
begin
 FSuite := nil; // AV здесь
 FSuite := Value;

 if FSuite <> nil then
  InitTree;
end;

Откуда берется AV? Повторюсь в VCL всё ок. 

2 комментария:

  1. беглое заглядывание в исходники показывает, что в FMX формы реально создаются только после запуска Application.Run

    ОтветитьУдалить