|
Вопрос # 5 222/ вопрос открыт / |
|
Здравствуйте!
У меня есть форма в которой иногда выполняются действия при которых он временно подвисает (например читает инфо обо всех файлах на МР3 диске). На время этого обращения я хочу показывать другую форму с GIF картинкой, обозначающей "подождите". Проблема в том что пока основная форма не отвиснет, вторая не появляется или гифка не крутится. Сделал создание и показ формы из таймера на главной форме, но чтобы это работало нужно в "тормозящую" долгую функцию напихать много Application.ProcessMessage;
Может есть какой-то другой выход?
 |
Вопрос задал: AlexMPEI (статус: 1-ый класс)
Вопрос отправлен: 22 апреля 2011, 17:43
Состояние вопроса: открыт, ответов: 0.
|
Мини-форум вопроса
Всего сообщений: 11; последнее сообщение — 27 апреля 2011, 18:12; участников в обсуждении: 4.
|
Вадим К (статус: Академик), 22 апреля 2011, 17:45 [#1]:
треды, треды и ещё раз ТРЕДЫ!
Галочка "подтверждения прочтения" - вселенское зло.
|
|
AlexMPEI (статус: 1-ый класс), 22 апреля 2011, 17:52 [#2]:
как запихать форму в трэд я не понимаю. есть пример? Попробовал отнаследоваться от TForm и TThread одновременно - Delphi меня послал.
|
|
Вадим К (статус: Академик), 22 апреля 2011, 18:20 [#3]:
Во первых, наследоваться от двух одновременно в делфи нельзя, да и не нужно. Форма-тред - это бардак в квадрате. Делайте себе поиск в треде, форма для этого ему не нужна. Если же треду нужно что то выводить на форму, то можно использовать к примеру SendMessage или делфовские примитивы синхронизации. О том, как работать с тредом, можно подсмотреть в моей статье Скачиваем файлы из интернета
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Егор (статус: 10-ый класс), 22 апреля 2011, 18:24 [#4]:
Цитата (AlexMPEI):
иногда выполняются действия при которых он временно подвисает
вот это и запихать в тред
Опасайтесь багов в приведенном выше коде; я только доказал корректность, но не запускал его.
— Donald E. Knuth.
|
|
min@y™ (статус: Доктор наук), 22 апреля 2011, 20:17 [#5]:
Охренеть! Вы сговорились, штоли? Я сёдня написал тред для поиска файлов. Могу подарить исходник для ознакомления.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 23 апреля 2011, 01:11 [#6]:
подари, пожалуйста
|
|
min@y™ (статус: Доктор наук), 23 апреля 2011, 09:03 [#7]:
Цитата (AlexMPEI):
подари, пожалуйста
Код остался на работе. В понедельник я уезжаю в командировку, вернусь во вторник вечером. До среды подождёшь?
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 24 апреля 2011, 01:06 [#8]:
конечно подожду
|
|
min@y™ (статус: Доктор наук), 27 апреля 2011, 15:26 [#9]:
Цитата (AlexMPEI):
конечно подожду
Ну, если это ещё актуально, то вот.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
|
AlexMPEI (статус: 1-ый класс), 27 апреля 2011, 16:38 [#10]:
спасибо - отличный тред. только я еще, с вашего позволения, добавлю событие об окончании поиска
|
|
min@y™ (статус: Доктор наук), 27 апреля 2011, 18:12 [#11]:
Цитата (AlexMPEI):
спасибо - отличный тред. только я еще, с вашего позволения, добавлю событие об окончании поиска 
Я тя умоляю! OnTerminate жеж есть! Это ж тред, блин!
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|