Страница: 1 |
Вопрос: CreateThread | Добавлено: 17.12.08 19:29 |
Автор вопроса: ![]() |
Понимаю что идиотизм, мазахизм и т.п., но мне очень нужно, переходить на другую платформу невозможно, поэтому я просто обязан через это пройти.
Как юзать эту функцию на VB6? С синхронизацией, надеюсь,проблем у меня не будет - я с ней маленько дело имел (на NET). Я знаю что оно будет вылетать в каждом удобном случае. Ну просто, пожалуйста, не посылайте в G**gle, а объясните! Очень нужно! Заранее благодарен. |
Ответы | Всего ответов: 8 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 278109632 Вопросов: 42 Ответов: 3949 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 17.12.08 21:59 |
Мой тебе совет - забей. Или юзай ActiveX EXE и APC. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #2 | Добавлено: 19.12.08 10:16 |
После вызова инициализируй OLE в потоке и создавай рэндомный объект (это приведет к инициализации TLS).
До этого момента старайся использовать поменьше даже элементарных функций, все действия проводи только через АПИ и только объявленных в TLB, ни в коем случае не устанавливай обработчик ошибок. Когда все успешно прошло - флаг синхронизации тебе в руки ![]() |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 278109632 Вопросов: 42 Ответов: 3949 |
Web-сайт: Профиль | Цитата | #3 | Добавлено: 19.12.08 15:32 |
TLS можно и без OLE-объектов инициализировать, только вот не всегда это дело работает. Больше четырех потоков никогда не получалось породить. |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #4 | Добавлено: 19.12.08 17:35 |
А в чем сложности? Как я сказал, инициализируешь OLE, TLS и маршалишь интерфейс.
Есть подозрение что проблема в твоем "TLS можно и без OLE-объектов инициализировать". Самодеятельность в некоторых случаях вредит делу, особенно если смутно представляешь что именно делаешь ![]() Ну, а вариант "для Чайников", как ты заметил - ActiveX.Exe. Проще не придумаешь. |
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 278109632 Вопросов: 42 Ответов: 3949 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 20.12.08 00:05 |
Это камень в мой огород и признание меня непрофессионалом? ![]() |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #6 | Добавлено: 22.12.08 17:14 |
Хм, ну если персонаж заявляет что "можно сделать и проще, чем вы предлагаете, только вот почему-то это не будет работать" - невольно возникает желание не просто кинуть камень, а прямо таки метнуть валун ![]() ![]() Все равно создается впечатление что автор забил на вопрос в тот момент как запостил его на форуме. |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() Вопросов: 15 Ответов: 194 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 27.12.08 14:38 |
Нет, просто у аффтора жирнющие проблемы с входа в форум, которые он только что еле-еле решил. И то через ж***.
OLE это конечно мило, но мне нужно распараллелить всего парочку функций, а не строить многопоточную систему. Заниматься подобным, думаю, было бы не оптимально, ну ладно, буду иметь ввиду. Благодарю за ответы. |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #8 | Добавлено: 29.12.08 09:47 |
Распараллелить можно и через DoEvents (при очень большом желании) ![]() В любом случае, потоковую модель лучше рассматривать через призму классов (объектов) а не функций. Так будет намного проще и для понимания, и для реализации. А "распараллелить всего парочку функций" без обеспечения "потокобезопасности" - это не выход, ибо такой код будет просто мусором... |
Страница: 1 |
|