DP Delphi / Pascal  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

VCL: формы и компоненты

Здесь мало узнать знакомое ключевое слово. Нужно проследить срок жизни данных, порядок вызовов, обработку ошибок и договор между модулями. Тест содержит 25 вопросов, включая 5 фрагментов кода, и разбирает темы: «Жизненный цикл формы», «Владение компонентами Owner», «События», «Поток интерфейса» и «Безопасность данных».

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: В каждом вопросе выберите один ответ из пяти. На весь тест отведено 70 минут. Код лучше сначала разобрать вручную: правильный вариант должен объяснять механизм, а не только совпадать с одним запуском.
Вопрос 1 из 25
Как именно завершается время жизни формы в `ShowEditor` после закрытия модального окна?
PascalDelphi / Pascal · Жизненный цикл формы
// Определите реальную гарантию в FormLifetime.
program FormLifetime;
uses Vcl.Forms, Vcl.StdCtrls;
procedure ShowEditor;
var
  F: TForm;
begin
  F := TForm.Create(nil);
  try
    F.ShowModal;
  finally
    F.Free;
  end;
end;
begin end.
Вопрос 2 из 25
В практическом сценарии по теме «Владение компонентами Owner» меняются входные данные и порядок действий. Какой вывод остаётся корректным?
Вопрос 3 из 25
Две реализации темы «События» совпадают на обычном примере. Какое различие всё же меняет их договор?
Вопрос 4 из 25
Модуль, использующий тему «Поток интерфейса», передают другой команде. Какую ответственность нужно закрепить во внешнем договоре? Рассмотрите вариант, где меняется состояние, но внешний интерфейс остаётся прежним.
Вопрос 5 из 25
В теме «Безопасность данных» есть две независимые границы поведения. Какой внешний договор не смешивает их в одно расплывчатое правило?
Вопрос 6 из 25
Реализацию темы «Жизненный цикл формы» заменяют без изменения интерфейса. Какое наблюдаемое свойство обязано сохраниться?
Вопрос 7 из 25
Обычный пример по теме «Владение компонентами Owner» проходит, но после изменения состояния возникает дефект. Какое условие объясняет его источник?
Вопрос 8 из 25
Реализацию темы «События» заменяют без изменения интерфейса. Какое наблюдаемое свойство обязано сохраниться?
Вопрос 9 из 25
В теме «Поток интерфейса» есть две независимые границы поведения. Какой внешний договор не смешивает их в одно расплывчатое правило?
Вопрос 10 из 25
Почему `ReadAge` сначала отдельно проверяет `TryStrToInt`, а затем диапазон возраста?
PascalDelphi / Pascal · Безопасность данных
// Результат не зависит от режима полной или сокращённой оценки Boolean.
program FormValidation;
uses System.SysUtils, Vcl.StdCtrls;
function ReadAge(Edit: TEdit; out Age: Integer): Boolean;
begin
  if not TryStrToInt(Trim(Edit.Text), Age) then
    Exit(False);
  Result := (Age >= 0) and (Age <= 130);
end;
begin
end.
Вопрос 11 из 25
Какое свойство `ShowEditor` сохранится, если модальное окно закрыть крестиком, кнопкой или присвоением `ModalResult`?
Вопрос 12 из 25
Правка по теме «Владение компонентами Owner» должна сохранить полезное поведение и убрать риск на соседнем сценарии. Какое требование она обязана выполнить?
Вопрос 13 из 25
В теме «События» есть две независимые границы поведения. Какой внешний договор не смешивает их в одно расплывчатое правило?
Вопрос 14 из 25
В `VclThreadUi` сначала встречается `TTask.Run(procedure`, а затем `TThread.Queue(nil, procedure begin Label1.Caption := Text; end);`. Какой вывод можно сделать только после чтения обеих строк?
PascalDelphi / Pascal · Поток интерфейса
// Отделите правило языка от удачного запуска VclThreadUi.
program VclThreadUi;
uses System.Threading, System.Classes, Vcl.StdCtrls;
procedure LoadCaption(Label1: TLabel);
begin
  TTask.Run(procedure
    var Text: string;
    begin
      Text := 'loaded';
      TThread.Queue(nil, procedure begin Label1.Caption := Text; end);
    end);
end;
begin end.
Вопрос 15 из 25
Правка по теме «Безопасность данных» должна сохранить полезное поведение и убрать риск на соседнем сценарии. Какое требование она обязана выполнить?
Вопрос 16 из 25
Модуль, использующий тему «Жизненный цикл формы», передают другой команде. Какую ответственность нужно закрепить во внешнем договоре?
Вопрос 17 из 25
Для темы «Владение компонентами Owner» обычный путь и граничный путь дают разные риски. Какой вывод учитывает оба, не подменяя один другим?
Вопрос 18 из 25
Две версии `VclEventLifetime` сохраняют порядок `procedure Click(Sender: TObject);` → `begin TButton(Sender).Caption := 'Done'; end;`. Какое свойство останется общим для обеих?
PascalDelphi / Pascal · События
// Отделите правило языка от удачного запуска VclEventLifetime.
program VclEventLifetime;
uses Vcl.StdCtrls;
type
  THandler = class
    procedure Click(Sender: TObject);
  end;
procedure THandler.Click(Sender: TObject);
begin TButton(Sender).Caption := 'Done'; end;
begin end.
Вопрос 19 из 25
Какой сценарий по теме «Поток интерфейса» отличит исправную реализацию от версии со скрытым дефектом?
Вопрос 20 из 25
Правка по теме «Безопасность данных» должна сохранить полезное поведение и убрать риск на соседнем сценарии. Какое требование она обязана выполнить? Рассмотрите вариант, где меняется состояние, но внешний интерфейс остаётся прежним.
Вопрос 21 из 25
Какие две независимые границы нужно проверить для модальной формы: завершение её жизни и поведение при закрытии?
Вопрос 22 из 25
Какой граничный результат следует ожидать в `OwnerParent`, когда после `Form := TForm.Create(nil);` выполняется `finally Form.Free; end;`?
PascalDelphi / Pascal · Владение компонентами Owner
// Определите реальную гарантию в OwnerParent.
program OwnerParent;
uses Vcl.Forms, Vcl.StdCtrls;
var
  Form: TForm;
  Button: TButton;
begin
  Form := TForm.Create(nil);
  try
    Button := TButton.Create(Form);
    Button.Parent := Form;
    Button.Caption := 'Run';
  finally Form.Free; end;
end.
Вопрос 23 из 25
Какое свойство темы «События» становится решающим на граничном входе или при другом порядке действий?
Вопрос 24 из 25
Модуль, использующий тему «Поток интерфейса», передают другой команде. Какую ответственность нужно закрепить во внешнем договоре?
Вопрос 25 из 25
Какое свойство темы «Безопасность данных» становится решающим на граничном входе или при другом порядке действий?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу