Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Не хочет работать в OnShow(OnCreate): if Process32First(handler,d [D7, WinXP]


Страницы:   1 2

Arturchik ©   (2004-04-05 15:11:00) 

Точнее if Process32First(handler,data) then... работает только постоянно идёт по else, исли запустить его в OnActivate то всё в порядке но уже поздно... :-( в чём проблема? А главное как её решить? :-)


Arturchik   (2004-04-07 00:32:00) [21]

>угу .. и ты еще поди DoWork в Synchronize() обернул

Естественно


Digitman   (2004-04-06 16:36:00) [22]


> поток нужен обязательно


угу .. и ты еще поди DoWork в Synchronize() обернул


Kerk   (2004-04-06 15:39:00) [23]

размер структуры dataустанови...
data.dwSize := SizeOf(data);


GrayFace   (2004-04-06 14:56:00) [24]

А разве не льзя перебрать процессы обычным WinAPI?
Скажи, зачем тебе это? Может цель лучше делать по-другому.


Arturchik   (2004-04-05 19:03:00) [25]

procedure Thread.DoWork;
begin
 handler:=CreateToolhelp32Snapshot(TH32_SNAPPROCESS,0);
 if Process32First(handler,data) then
   while Process32Next(handler,data) do

поток нужен обязательно


Digitman   (2004-04-05 16:17:00) [26]

это - к верху

приведи полный код для начала


Игорь Шевченко   (2004-04-05 16:15:00) [27]

Arturchik ©   (05.04.04 15:59)

procedure TMyCoolForm.FormCreate (Sender: TObject);
begin
 PostMessage(Handle, UM_EnumProcesses, 0, 0);
end;


Arturchik   (2004-04-05 15:59:00) [28]

>почему в OnCreate() не послать самому себе PostMessage(), в >обработчике которого и реализовать цикл енумерации процессов ?

это как?


Digitman   (2004-04-05 15:57:00) [29]


> без разницы


мого быть, мого быть)


Игорь Шевченко   (2004-04-05 15:55:00) [30]


> енумерация процессов в системах на НТ-платформе (каковой
> является ХР) должна производиться средствами psapi , а не
> средствами tlhelp32


Да на XP это без разницы :)


Digitman   (2004-04-05 15:53:00) [31]


> OnActivate работает, а в OnCreate или OnShow ХРЕН


а ХРЕН поймешь, понимаешь ли ты логику и последовательность возникновения тех или иных событий объекта-формы ...

а был бы еще косой десяток разных событий - во всех бы перепробовал свой код ? МОЛ, авось заработает и ХРЕН с ним ? или как ?

почему в OnCreate() не послать самому себе PostMessage(), в обработчике которого и реализовать цикл енумерации процессов ?

это - раз

второе.

енумерация процессов в системах на НТ-платформе (каковой является ХР) должна производиться средствами psapi , а не средствами tlhelp32


Arturchik   (2004-04-05 15:27:00) [32]

Нееет, она вообще не должна идти по else, if там нужен для контроля, а не для выбора. А тут идёт по else и хоть ты тресни. Запускаю кнопкой или OnActivate работает, а в OnCreate или OnShow ХРЕН.


Digitman   (2004-04-05 15:23:00) [33]


> всё в порядке но уже поздно


угу ... уже кирдык приключился .. и всякий раз будет приключаться, когда окно формы будет получать фокус ввода


> работает только постоянно идёт по else


т.е. работает , но чуть-чуть)..


Arturchik   (2004-04-05 15:22:00) [34]

ааа... непонял?


VMcL   (2004-04-05 15:13:00) [35]

У тебя ошибка в программе. Если точнее, то в 17-й строке.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо