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-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 - спасибо, заработало


Страницы:   1 2

Наверх

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