|
Вопрос # 4 135/ вопрос открыт / |
|
Доброго времени суток, уважаемые эксперты! Объяните мне пожалуйста, почему не работает такой код:
procedure TForm3.PDJButton13Click(Sender: TObject);
begin
Form5.Showmodal;
getdir(0,put);
Form5.WebBrowser1.Navigate(put+'/'+'Tapcirma3Duric.swf');
end;
end.---форма откроется но ролик не играет, а если написать так:
procedure TForm3.PDJButton13Click(Sender: TObject);
begin
Form5.Show;
getdir(0,put);
Form5.WebBrowser1.Navigate(put+'/'+'Tapcirma3Duric.swf');
end;
end.-----тогда все работает. Почему так? Кто-нибудь подскажите мне пожалуйста. Заранее БОЛЬШОЕ ВСЕМ спасибо!!!
 |
Вопрос задал: Ермаханов Айбек (статус: Посетитель)
Вопрос отправлен: 9 мая 2010, 00:56
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: min@y™
Потому что при модальном показе окна (ShowModal) приложение будет ожидать его закрытия. Функция getdir(0,put) получит управление, когда Form5 закроется (свойству Form5.ModalResult будет присвоено значение, не равное mrNone).
 |
Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 9 мая 2010, 10:01
Оценка за ответ: 5
Комментарий к оценке: Спасибо БОЛЬШОЕ за ответ
|
Мини-форум вопроса
Всего сообщений: 8; последнее сообщение — 12 мая 2010, 09:34; участников в обсуждении: 3.
|
Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 9 мая 2010, 09:59 [#1]:
Скорее всего в первом случае ShowModal ожидает закрытия формы, поэтому последующие операторы выполняются только после уу закрытия.
|
|
Ермаханов Айбек (статус: Посетитель), 9 мая 2010, 17:02 [#2]:
Значить при модальном открытый формы никак нельзия проиграть ролик или есть еще варианты?
|
|
min@y™ (статус: Доктор наук), 9 мая 2010, 17:14 [#3]:
Цитата (Ермаханов Айбек):
Значить при модальном открытый формы никак нельзия проиграть ролик или есть еще варианты?
Варианты, конечно, есть.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Ермаханов Айбек (статус: Посетитель), 9 мая 2010, 17:57 [#4]:
min@y™: Если ВАМ не трудно не могли бы ВЫ мне подсказать как можно сделать это? Заранее благодарен.
|
|
min@y™ (статус: Доктор наук), 9 мая 2010, 18:05 [#5]:
Совет номер раз: код для работы с формой размещай только в модуле этой формы.
Совет номер два: самый примитивный способ что-то сделать в модальной форме после её показа, но до закрытия - положить на неё таймер с интервалом, например, 100 и уже по нему начинать действия.
Совет номер три: у компонентов (в том числе у форм) есть такое очень нужное и важное свойство Name; пользуйся им везде, где можно, для осмысленного именования - это я тебе как профессионал говорю. Имена по умолчанию типа Form5, Button2, Combobox3 - АЦТОЙ!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Ермаханов Айбек (статус: Посетитель), 9 мая 2010, 18:31 [#6]:
min@y™: Спасибо ВАМ большое! Всегда буду помнить это! Еще раз спасибо!
|
|
min@y™ (статус: Доктор наук), 9 мая 2010, 18:39 [#7]:
Цитата (Ермаханов Айбек):
Спасибо ВАМ большое! Всегда буду помнить это! Еще раз спасибо!
Какой кошмар... Такое впечатление, что это написано на моей могильной плите...
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
Косолапов Дмитрий Юрьевич (статус: 8-ой класс), 12 мая 2010, 09:34 [#8]:
Можно попробовать событием OnShow воспользоваться (в модальной форме), правда вот что за put такой, не очень понятно.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|