Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.08.28;
Скачать: CL | DM;

Вниз

Аналог 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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.03 c
1-1123483163
Dimich1978
2005-08-08 10:39
2005.08.28
Переход проекта с Д5 на Д7, ошибка


1-1123408733
Senti
2005-08-07 13:58
2005.08.28
Помогите новичку. Как массивы символов складывать....


1-1123493220
гость2
2005-08-08 13:27
2005.08.28
проверка значения


1-1123239022
rolex
2005-08-05 14:50
2005.08.28
Как в ListView список прокрутить в самый конец?


4-1121244324
unregister_256
2005-07-13 12:45
2005.08.28
лейбел - гиперссылка