Форум — Ответы     (  К темам )
 ?  Сергей: фоновое выполнение задачи (04-03-2003 19:36:55)
Как заставить свою программу котороя свертываеться в трай в фоне выполнять определееные действия например отсылать мыло
 ACD (08-03-2003 03:29:20)
возможно _beginthread() CreateThread()
 Георгий (09-03-2003 00:01:39)
Может я не совсем понял вопрос, но:
программа работает независимо от того свёрнута ли она или нет
чтоб выполнять какие либо действия без инициативы пользователя (не по нажатиям кнопок) можно:
1
поставить на форму компонент Timer и через него выполнять какую либо функцию
плюсы: очень просто реализуется, а если периодически вызывать Application->ProcessMessages(); то создаётся иллюзия паралельной работы
минусы: сообщения от таймера имеют минимальный приоритет и могут не приходить или приходить с задержной
2
создать поток, который большую часть времени проводит в спячке, и в нём выполнять, то, что надо
плюсы: если поток с приоритетом tpTimeCritical, то он гарантированно получит управнение в заданный момент времени (погрешность 5ms), работа независимо от действий пользователя
минусы: VCL не любит обращений из паралельных протоков и может глючить самыми разными способами -> проблема (сложность) синхронизации