Недавно созданное модальное окно теряет фокус, и станьте недоступными в Windows Vista

В этом случае я бы рекомендовал использовать Angular ReactiveForm вместо ручного извлечения и привязки значения.

В вашем компоненте создайте экземпляр FormGroup и привяжите значение из localStorage к элементу управления формы:

@Component({
  template: `
    
` }) export class YourComponent implements OnInit { form: FormGroup; ngOnInit(): void { this.form = new FormGroup({ name: new FormControl(localStorage.getItem('user_name')), }); } }

Подробнее о реактивных формах в Angular см. https: // angular.io/guide/reactive-forms

10
задан Fabio Gomes 13 May 2009 в 16:41
поделиться

3 ответа

Посмотрите на свойство PopupParent. Возможно, вы захотите установить его явно для вашей модальной формы до вызова ShowModal. Когда PopupParent равен nil (по умолчанию), VCL ведет себя немного по-разному в зависимости от значения соответствующего свойства PopupMode.

Если вы установите PopupParent модальной формы в форму, которая активна непосредственно перед вызовом ShowModal, это может помочь.

8
ответ дан 3 December 2019 в 20:43
поделиться

Нам часто приходится убеждать пользователей, не являющихся техническими специалистами, в том, что IE6 - очень плохая идея для любой компании, которая все еще работает и вот документ, над которым мы работаем, чтобы обучить домашних и корпоративных пользователей, вот краткое изложение, если это поможет:

Почему IE 6 представляет собой проблему?

Гораздо менее безопасен, чем другие браузеры

Интернет изменился Многое с тех пор, как IE 6 был выпущен, и существует больше угроз безопасности данных, чем когда-либо прежде, включая фишинг-мошенничество, атаки с использованием скриптов, вирусы регистрации ключей, кражу личных данных и бот-сети (машины, которые были захвачены за преступную деятельность).

Хорошо документировано, что IE6 менее безопасен, чем современные браузеры при серфинге в интернете:

«… наиболее убедительная причина для обновления - это повышенная безопасность. Интернет сегодня - это не Интернет пятилетней давности. Сэнди Хардмайер, Microsoft MVP

«Старые браузеры - это швейцарские дыры в безопасности, позволяющие черным шляпам захватывать компьютеры, создавать бот-сети и даже красть личность жертвы, большую часть времени без их ведома. «. www.joelevi.com

IE 6 представляет угрозу безопасности для любого компьютера, на котором он используется для просмотра веб-страниц. Любая ответственная ИТ-команда обновится до IE7 или более поздней версии на всех компьютерах в корпоративной сети. Многие теперь устанавливают браузер Firefox для дальнейшего повышения безопасности.

Он не соответствует стандартам

IE 6 не отображает веб-страницы так же, как большинство браузеров, так как использует собственный механизм, который игнорирует многие из стандарты, установленные W3C (Консорциум World Wide Web). Это приводит к тому, что некоторые веб-страницы отображаются некорректно в IE 6, а некоторые вообще не отображаются.

Это также означает, что, хотя веб-разработчикам приходится поддерживать IE 6, большую часть их работы занимает исправление страниц, а не разработка лучшего контента. и особенности. Короче говоря, IE 6 сдерживает развитие Интернета для всех пользователей.

Медленнее

В течение последних 8 лет разработки браузеров, а также улучшения безопасности браузеры настраивались для повышения производительности на всех фронтах, включая скорость загрузки, скорость рендеринга и производительность JavaScript / AJAX, которая является технологией, используемой на большинстве крупных сайтов. для лучшего восприятия конечным пользователем (иногда его называют технологией Web 2.0).

Использование памяти

Internet Explorer 7 фактически использует меньше памяти, чем IE6, и использует меньше общих ресурсов на машине. Таким образом, обновление может повысить производительность старых компьютеров.

Обновление до Firefox или Chrome

Firefox

http://en-us.www.mozilla.com/en-US/firefox/firefox.html

Chrome

http://www.google.co.uk/chrome

Обновление до IE 7/8

Домашние пользователи

Internet Explorer 7 http://www.microsoft.com /downloads/details.aspx?displaylang=en&

7
ответ дан 3 December 2019 в 20:43
поделиться

Вы можете попробовать отредактировать Forms.pas , чтобы добавить приведенный ниже код в TCustomForm.ShowModal () , непосредственно перед вызовом ] Application.ModalStarted () :

if Assigned(Application) then begin
  while PeekMessage(msg, Application.Handle, CM_ACTIVATE, CM_DEACTIVATE, PM_REMOVE) do begin
    TranslateMessage(msg);
    DispatchMessage(msg);
  end;
end;
0
ответ дан 3 December 2019 в 20:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: