Critical Section onVB6??

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Critical Section onVB6??

Сообщение Fedorfx » 12.01.2005 (Ср) 15:28

Всем привет.
Как сделать чтобы какая либо функция выполнилась без прерывания другими процессами.
Мне кажется что Critical Sections может помочь но поиск не дал примеров. Может что что посоветует?

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 12.01.2005 (Ср) 15:31

Ну дык entercriticalsection, leavecriticalsection...

А чего тему из Новичков перенёс? :wink:


Хотя эти функции для ограничения доступа нескольких тредов одного процесса, но не разных процессов.
Что творишь-то? :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 12.01.2005 (Ср) 16:20

>>>А чего тему из Новичков перенёс?
А тут активность поболее :-)

Что творишь-то?
Распознование текста с экрана монитора.
Функция заполнения матрици
for i=1 to 10
for ii=1 10
MATR(x, y) = CBool(GetPixel(mHDC, X, Y))
next ii
next i
Только иногда получается что матрица пока заполнится, другой символ отображается.
Надо цикл без прерывания сделать.

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 13.01.2005 (Чт) 1:48

Нереально. Только если пресловутый драйвер писать.
CriticalSection действительно не поможет.
Изображение

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 13.01.2005 (Чт) 11:42

А если на время выполнения какой либо функции делать приоритет процесса =RealTime???? А по ее окончании возвращать прежний.? Кто что думает

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 13.01.2005 (Чт) 12:48

Это повысит вероятность успеха, не более того :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 13.01.2005 (Чт) 14:16

При отсутсвии другго процесса с таким приоритетом, думаю это даст именно гаранитию.(А как без doevents он выйдет из процесса??)

Fedorfx
Постоялец
Постоялец
 
Сообщения: 371
Зарегистрирован: 10.10.2002 (Чт) 0:14

Сообщение Fedorfx » 13.01.2005 (Чт) 14:17

шит
у меня комп духпроцессорный, да ишо и гипертрипинг. так что думаю я погорячился.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: PetalBot и гости: 11

    TopList