coder, ну раз уж было такое большое желание придраться, то надо было бы заранее сказать что код pictureForm:=TPictureForm.Create ... try pictureForm.ShowModal; finally pictureForm.Free; end; и try pictureForm:=TPictureForm.Create ... pictureForm.ShowModal; finally pictureForm.Free; end; В случае ошибки ошибки создания pictureForm вылетят оба, так что оба из них неверны, во всех остальных случаях будут работать одинаково. Однако сразу видно что я хотел сказать переместив создание объекта в блок try - проверку на случай ошибки в создании объекта и забыл всего лишь перенести и Free в тот же блок, либо чуток дополнить добавив вначале pictureForm:=nil; и в finally условие if (pictureForm<>nil) ... Добавлено спустя 2 минуты 41 секунду: ps. Особенно умиляет ваш сарказм, учитывая то, что я объяснял, что нужно воспользоваться ОО, а вы тут влепили кучу к делу отношения не имеющего... Здесь речь не шла об обработке исключений.