![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не хочет работать в OnShow(OnCreate): if Process32First(handler,d [D7, WinXP]
Arturchik © (2004-04-05 15:11:00)Точнее if Process32First(handler,data) then... работает только постоянно идёт по else, исли запустить его в OnActivate то всё в порядке но уже поздно... :-( в чём проблема? А главное как её решить? :-)
Arturchik (2004-04-10 18:48:00) [1]будем искать.
P.S. На сайте не самым удобным образом размещены статьи
Digitman (2004-04-10 13:13:00) [2]
> или ответь на мой последний пост или тема закрыта
отвечаю.
на этом сайте в числе прочих статей есть статья по глобальным хукам с подробным разбором демо-примера
кр. этого есть станд.хэлп, в котором есть описание ф-ции SetWindowsHookEх(), в т.ч. - описание ее вызова с параметром WH_MOUSE и соответствующих задействуемых структур данных
Arturchik (2004-04-10 12:52:00) [3]не люблю людей считаюших себя очень умными с способными всех учить. особенно когда они даже не знают с кем говорят...
P.S. чтоюы не разводить тут... ты или ответь на мой последний пост или тема закрыта.
Digitman (2004-04-10 11:08:00) [4]
> после 9 бесполезных постов
действительно бесполезных ... потому как на их протяжении я пытался сделать так, чтобы ты думал самостоятельно ... моя же задача - направить в верное русло ход твоих рассуждений по проблеме и ее решению, дать инф-цию к размышлению, а не разжевывать тебе все и вся
Arturchik (2004-04-10 10:44:00) [5]ну так мне это и надо. Моя прога выполняет несколько операция и некоторые должны выполняться сразу(ибо они hook), а некоторые(как раз её код и обсуждался) должны выполнятся когда им 'можно'. Если я тебя правильно понял...
P.S. Кстати если ты уж всё время толдычиш про чтение разных статей и их анализ...Не подскажеш где можно прочитать о mousehook, а то прочитал я уже много но чтобы понять как это работает...
Arturchik (2004-04-10 10:35:00) [6]ооо...после 9 бесполезных постов ты решил всё таки объяснить в чём проблема. Постараюсь это переварить, может ты и прав.
Digitman (2004-04-09 18:42:00) [7]
> я считаю что в моём счучае синхронизация нужна
синхронизация обоснована только тогда, когда ей подвергаются не все подряд вызовы (методов или каких-то иных п/программ - неважно), а только те вызовы, которые небезопасно делать в параллель с потенциально возможными аналогичными вызовами со стороны других потоков .. в случае с VCL-приложением - вызовы со стороны осн.потока ...
синхронные вызовы, выполняемые с использованием Synchronize(), становятся в очередь оконных сообщений осн.потоку приложения .. и если, к примеру, в обработчике какого-то события формы выполняется длительный цикл, то исполнение метода DoWork будет задержано до тех пор, пока не завершится цикл и, в конечном итоге, исполнение обработчика тек.события формы ... а таких событий - уйма !!
Digitman (2004-04-09 18:20:00) [8]
> Arturchik © (09.04.04 18:12) [27]
да пойми ты, голова садовая, что если в теле DoWork() нет ни единого обращения к потоконебезопасным VCL-контролам/компонентам, то синхронизировать этот метод с осн.код.потоком не только нет необходимости, но и абсолютно бестолково - ведь исполнение метида будет поставлено в очередь обработки оконных сообщений осн.потока !!!
Arturchik (2004-04-09 18:12:00) [9]НЕТ! ля ля - это в любом случае, ибо объяснить что к чему можно было и сразу. А нести всякую..., о том какой я...!
И всё равно я считаю что в моём счучае синхронизация нужна, а говорить об обратном вы не можете ибо не видели всей программы.
Digitman (2004-04-09 15:09:00) [10]
> Если ты хочеш сказать что в статье г-на Кариха ошибка. Так
> и скажи
так и скажу.
потому что процитированная тобой из статьи фраза - полная чушь, набор слов, слабо связанных как терминологически, так и концептуально
зато чуть ниже тот же Карих "оправдывается", ссылаясь на реальноработающий и грамотно реализованный пример из состава демо-проектов , идущих вместе с Делфи
цитирую :
P.S. Отличный пример работы с TThread можно найти в подкаталоге Demos\Threads каталога, куда Вы установили Borland Delphi.
ты рассматривал этот проект ? вникал в его код ? пытался хоть сколь-либо понять, почему там метод Synchronize() применяется не везде где ни попадя, а в строго определенных строчках ?
вряд ли читал и/или вникал .. так что " так что не надо ля ля" - вот это не надо здесь, сударь !
Arturchik (2004-04-09 14:46:00) [11]> Digitman
Тебе не надоело?
Ты бы лучше помог как Kerk например, а не нёс всякую ахинею. Если ты хочеш сказать что в статье г-на Кариха ошибка. Так и скажи. Но ни мне, а ему лично и тем кто этот сайт делал и эту статью размешал.
> а головой думать будем ?...
Я тебя не оскорблял и опускаться до этого не собираюсь, и будь добр не преврашай форум в.................. :-)
Arturchik (2004-04-09 14:39:00) [12]> Если у человека проблемы с tlhelp32, то в 99% случаев из-за того, что забывают размер структуры указать...
Будем знать :-)
Kerk (2004-04-09 09:42:00) [13]
> Arturchik © (07.04.04 00:36) [16]
> Kerk - спасибо, заработало
Если у человека проблемы с tlhelp32, то в 99% случаев из-за того, что забывают размер структуры указать...
Я на подобные вопросы уже не глядя отвечаю. :)
Digitman (2004-04-09 08:41:00) [14]
> Arturchik
> Из статьи с этого сайта
а головой думать будем ? иные источники инф-ции штудировать ? сопоставлять ? анализировать ? принимать решение ? или статья г-на Кариха - панацея от болезней головы ?
VMcL (2004-04-08 19:53:00) [15]>>Arturchik © (08.04.04 19:20) [20]
procedure Synchronize(Method: TThreadMethod);
Executes a method call within the main VCL thread.
Arturchik (2004-04-08 19:20:00) [16]Synchronize(Method: TThreadMethod) - синхронизирует выполнение метода процесса, позволяя ему работать параллельно с другими процессами.
Из статьи с этого сайта
А мне это и нужно, так что не надо ля ля
Digitman (2004-04-08 09:23:00) [17]да не используешь ты его "по назначению" !
в результате применения метода синхронизации метод DoWork будет исполняться в основном кодовом потоке процесса .. весь весь смысл использования доп.код.потока при этом пропадает
Arturchik (2004-04-07 17:39:00) [18]> продолжай в том же духе - бездумно сдирать код из статей
вообще-то поток используется по назначению...
Digitman (2004-04-07 09:29:00) [19]
> Естественно
малацца
продолжай в том же духе - бездумно сдирать код из статей
Arturchik (2004-04-07 00:36:00) [20]Kerk - спасибо, заработало