![]() |
|
Модераторы: MetalFan |
![]()
|
|
| CRACKISH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
Приветствую!
У меня проблема такого рода. есть Ole объект который создается при создании формы. в собственном потоке я взаимодействую с элементами объекта. в чем суть. так вот. если запускать программу с Delphi то все идеально, а вот если просто запустить екзешник вне Delphi, то программа вылетает как только пытается обратиться к элементам ole объекта в моем потоке. если ставлю в начале потока CoInitialize(nil) то все работает, но программа и поток заметно тормозят. в чем может быть проблема? |
|||
|
||||
| CRACKISH |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 2 Регистрация: 8.11.2010 Репутация: нет Всего: нет |
хм.. создаю отдельный чистый проект. пишу свой код.. и чудо! все работает! и это без всяких CoInitialize(nil), синхронизации и передачей интерфейса от программы к потоку..
в своем старом проекте перед выполнения потока, активирую форму и тоже чудо работает! но медленнее.. но работает! а так при создании формы тока в дельфи и работает и с самой быстрой скоростью.. (( в чем прикол то? |
|||
|
||||
| cat512 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 438 Регистрация: 20.3.2007 Репутация: 3 Всего: 15 |
Imho, чудес и мистики в области разработки ПО не бывает! Без coinitialize работает потому что Coinitialize выполняется в Application. Initialize (емнип)
Смотри в сторону Threading Model. Если хочешь не заморачиваться с синхронизацией, используй Threading model - tmSingle. Тогда вызовы серверу будут сериализовываться Если необходимо использовать многопоточность обязательно нужно синхронизировать вызовы и обязательно МАРШАЛИТЬ ссылки между потоками, иначе будут глюки! Причём самое хреновое - у тебя они могут не проявляться, но как правило, обязательно проявятся у заказчика Это сообщение отредактировал(а) cat512 - 9.11.2010, 17:23 |
|||
|
||||
![]()
|
| Правила форума "Delphi: ActiveX/СОМ/CORBA" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |