Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
ВнизАналог ShowMessage Найти похожие ветки
← →
КодеКорешь (2005-08-04 18:39) [0]Аналог ShowMessage, но не дожидающийся реакции пользователя....
← →
Digitman © (2005-08-04 18:48) [1]SomeDummyForm.Show;
← →
GuAV © (2005-08-04 18:53) [2]
procedure TForm1.DialogClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
// обработка результата..
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
with CreateMessageDialog("Message", mtCustom, [mbOK]) do
begin
OnClose := DialogClose;
ShowModal;
end;
end;
← →
Mx © (2005-08-04 18:57) [3]Таки вместо ShowModal надо Show, как тов-щ Digitman написал.
← →
КодеКорешь (2005-08-04 19:04) [4]Да понятно что можно для этих целей форму соорудить и ее показаывать и есля надо по таймеру закрывать, а по другому что ни как? Готовой функции нет?
← →
Джо © (2005-08-04 19:08) [5]MessageBox(0,"Text","Caption",MB_OK)
Только в чем глубинный смысл?
← →
КодеКорешь (2005-08-04 19:14) [6]Не то все
var
s: Integer;
begin
........
Показали сообщение
s:=123;
исполняем код далее
В том что бы просто пользователю показать сообщение и не дажидась пока он там на него отреагтрует (нажмет ок) продолжить выполнять код, с формами заморочится не хочется приложение консольное...
← →
Leonid Troyanovsky © (2005-08-04 19:19) [7]
> КодеКорешь (04.08.05 19:14) [6]
> выполнять код, с формами заморочится не хочется приложение
> консольное...
writeln
--
Regards, LVT.
← →
Mx © (2005-08-04 19:27) [8]
> не дажидась пока он там на него отреагтрует (нажмет ок)
На фига тогда его вообще показывать?
← →
КодеКорешь (2005-08-04 19:28) [9]да не то
консольное в смысле сервис, не так я выразился в предыдущем посте.....
writeln это то что нужно, но консоль не открыта:)
← →
PVOzerski © (2005-08-04 19:29) [10]Кстати, в консольном приложении,действительно, ничего лучше вывода информации на консоль не придумаешь. Потому как если оно будет запущено в полноэкранном режиме, то выскакивание любого окошка свернет консоль, что юзера вряд ли порадует.
← →
КодеКорешь (2005-08-04 19:29) [11]> На фига тогда его вообще показывать?
Что не котрое действие выполнилось или не выполнилось...
← →
PVOzerski © (2005-08-04 19:30) [12]Ну, запусти MessageBox из отдельного потока :)
← →
PVOzerski © (2005-08-04 19:32) [13]Только лучше тогда уж сделай диалог средствами WinAPI и меняй значение его Child"ов, а то у тебя каждое сообщение новое окошко выбрасывать будет...
← →
Mx © (2005-08-04 19:34) [14]Кстати, да. Не хочешь связываться с Forms.pas юзай ресурсы и API. Но я бы забил на это и сделал как GuAV[2] + Digitman[1].
← →
КодеКорешь (2005-08-04 19:35) [15]>Ну, запусти MessageBox из отдельного потока :)
Пожалуй ты прав, отдельный поток для каждого сообщения:( Ща попробуем...
← →
Джо © (2005-08-04 19:37) [16]
> [15] КодеКорешь (04.08.05 19:35)
Так чем тебе [5] Джо © (04.08.05 19:08) не устраивает?
← →
Mx © (2005-08-04 19:38) [17]
> КодеКорешь (04.08.05 19:35) [15]
> >Ну, запусти MessageBox из отдельного потока :)
> Пожалуй ты прав, отдельный поток для каждого сообщения:(
> Ща попробуем...
Слушай, ну изврат. С формами ты значит связываться не хочешь, а куча потоков ради плюшевых сообщений считаешь уместным?
> Джо © (04.08.05 19:37) [16]
> Так чем тебе [5] Джо © (04.08.05 19:08) не устраивает?
MessageBox даже с нулем все-равно модальный.
← →
Джо © (2005-08-04 19:45) [18]
> [17] Mx © (04.08.05 19:38)
А, вопрос неверное прочитал.
← →
afanasic (2005-08-05 15:19) [19]Покажи Hint и не парься со всякими окнами... Он у тебя во-первых повисит секунд пять и пропадет, а во-вторях ему будет наплевать на действия пользователя и привяжи его к левому объекту, тогда и твоя консоль не пострадает...
← →
Gloomer © (2005-08-05 15:48) [20]А что плохого в отдельном потоке? И зачем на каждое сообщение свой поток? Если нет фантазии, как передать значения сообщений в поток, попробуй через реестр :-)
← →
alex_*** (2005-08-05 16:02) [21]самому создать форму и показать её по Show():
frm := TForm.Create(Application);
with TLabel.Create(frm) do
Begin
Parent := frm;
Left := ...
End
frm.Show();
только надо убивать их как-то для порядку, если много сообщений будет.
← →
alex_*** (2005-08-05 16:07) [22]кстати, вариант [2] с таким же успехом можно и по Show() показать
← →
evvcom © (2005-08-05 16:41) [23]Мы как-то делали типа того, выдавая все сообщения в RichEdit с раскраской в разные цвета различных по важности сообщений.
← →
КодеКорешь (2005-08-05 17:00) [24]Всем спасибо, но все таки кроме как в другом потоке выдавать сообщения я не вижу и вот по чему. Программа (сервис) отслеживает некие события, например подключение нового диска (флешь карту пользователь воткнул), проверили можно ему ей воспользоваться или нет нельзя выдали сообщение отключили, а дальше самое интересное если ShowMessage в том же потоке, то пользователю достаточно на него не отреагировать, а вновь подключить диск, и все у него окей.:( Так что не вижу иного выхода пока как потоки....
← →
Mx © (2005-08-05 17:08) [25]Да зачем потоки-то, господи! Если используешь ShowMessage, то там и без того есть форма. Создай свою, как в [2] и вызывай простой Show. Мудришь че-то...
← →
Digitman © (2005-08-05 17:20) [26]
> Программа (сервис) отслеживает некие события
сервис УЖЕ работает в доп.потоке, вызывать из доп.потока ShowMessage() вообще недопустимо
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.046 c