Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.02.25;
Скачать: CL | DM;

Вниз

Delphi+WinApi II   Найти похожие ветки 

 
Тимохов   (2004-02-10 17:21) [0]

В прошлом топике http://delphimaster.net/view/1-1076405195/ я получил хороший ответ с примером. Поразбирался с реализацией этого механизма в VCL. Наконец понял, почему VCL не потокобезопасная. Навернул, конечно, борланд. :)))

Изначальный мой вопрос из указанного топика модифицировались в следующий: где в сети почитать про программирование в дельфи на winapi? Особенно интересует работа с окнами из нескольких потоков.

Помню когда-то здесь всплывала ссылка на подобный сайт. Поискал поисковиком - пока не нашел :((

Данный вопрос я задал отдельным топиком, т.к. опасаюсь, что прошлый топик никто не смогет досмотреть до конца, чтобы прочесть мой вопрос :))))

Заранее спасибо.


 
Я   (2004-02-10 17:27) [1]

см. TThread.Synchronize();


 
Тимохов   (2004-02-10 17:29) [2]


> Я (10.02.04 17:27) [1]

Спасибо. Чрезвачайно познавательно. :)))))


 
Владислав   (2004-02-10 17:35) [3]

Ну дык Игорь Шевченко еще в прошлом топике дал хороший совет про книгу. Про многопоточность у Рихтера всего предостаточно. Надо глубже?... Platform SDK.


 
Тимохов   (2004-02-10 17:39) [4]


> Владислав © (10.02.04 17:35) [3]

Про книгу помню - пока не успел купить :))) Завтра съезжу.

Тут был один человек, [lamer]Barmaglot, кажется, вот он большой фан winapi в дельфи. Жду, может заглянет и подкинет что нить.


 
Игорь Шевченко   (2004-02-10 17:40) [5]


> где в сети почитать про программирование в дельфи на winapi


http://www.delphimaster.ru/cgi-bin/forum.pl?n=5

В большинстве книг примеры программирования приводятся на С. Если труда перевести не представляет, то Петцольд, Рихтер,
Р. Саймон : "Windows 2000 API, энциклопедия программиста".


 
Игорь Шевченко   (2004-02-10 17:40) [6]


> программирование в дельфи на winapi


Но это, IMHO, извращение.


 
Владислав   (2004-02-10 17:48) [7]

> Игорь Шевченко © (10.02.04 17:40) [6]

Ну уж не всегда же :)


 
han_malign   (2004-02-10 17:49) [8]

> Наконец понял, почему VCL не потокобезопасная.
- как раз не понял - совершенно не по этому.

А "не потокобезопасная" VCL - потому, что, во многих местах, вместо SendMessge, PostMessage, используется Perform(сиречь прямой вызов WndProc, как раз, помимо очереди сообщений)...


 
Тимохов   (2004-02-10 17:57) [9]


> han_malign © (10.02.04 17:49) [8]

Там много дырок - это я уже понять успел.
И не только в том, что вы сказали.
Один CreationControl в controls.pas чего стоит.


 
Владислав   (2004-02-10 18:14) [10]

> Тимохов © (10.02.04 17:57) [9]

Это не дырки. Обеспечивать синхронизацию на каждый чих в однопоточном приложении накладно. А средство написания многопоточных приложений в VCL присутствует. По крайней мере, всегда есть синхронизирующие объекты ядра даже если чего то нет в VCL. А уж если это дырами называть, то нужно таки дыры в написании потокобезопасных приложений залатать ;)


 
Тимохов   (2004-02-10 18:59) [11]


> Владислав © (10.02.04 18:14) [10]

Понял одну интересную вешь, почему часто ламеры выходят из себя на данном форуме - все кто попытней гнут пальцы (иногода просто так). :)))))
Да, подумал тут, что и мне надо пересмотреть свой стиль ответов.
Будем равняться на Юрия Зотова!


 
Anatoly Podgoretsky   (2004-02-10 19:21) [12]

han_malign © (10.02.04 17:49) [8]
А "не потокобезопасная" VCL - потому, что, во многих местах, вместо SendMessge, PostMessage, используется Perform(сиречь прямой вызов WndProc, как раз, помимо очереди сообщений)...

Так SendMessge тоже напрямую, минуя очередь сообщение и вроде как Perform это и есть практически аналог.


 
Владислав   (2004-02-10 19:27) [13]

> Тимохов © (10.02.04 18:59) [11]

Не знаю как у Вас, но у меня ни сил, ни терпения не хватит. И это даже с теми вопросами, в которых я, скажем так, неплохо разбираюсь. Ну правда в иных случаях я вообще стараюсь молчать.


 
Владислав   (2004-02-10 19:35) [14]

> Anatoly Podgoretsky © (10.02.04 19:21) [12]

Ну в общем то да, но если поток, отсылающий сообщение не есть тот же, который его принимает?.. В случае SendMessage, отсылающий "блокируется" системой. На счет Perform ничего не скажу. Туда не углублялся.



Страницы: 1 вся ветка

Текущий архив: 2004.02.25;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.032 c
11-79691
Ajax
2003-06-04 22:17
2004.02.25
TKOLTreeView


7-80330
Borys
2003-12-03 22:31
2004.02.25
Запуск ехе-файла и посылка на него сообщения


1-79727
__Dmitry
2004-01-23 13:27
2004.02.25
Динамическое создание формы с TWebBrowser


1-79814
Aks
2004-02-11 12:21
2004.02.25
как узнать разрешение экрана


3-79641
Ser_ega
2004-01-30 23:40
2004.02.25
Кодировка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский