![]() |
|
|
![]()
|
|
| SATYR |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
Следующее исключение OLE "CoInitialize has not ben called" возникает прои попытке сформировать текст запроса CommandText для Q(где Q - ADODataSet)
если эту же строку поставить в конструктор обьекта то все проходит вполне терпимо
народ подскажите в чем причина? Оставлять как есть не хотелось бы. Просто запрос формируется не одной строкой и не хочется раскидывать его формирование по разным функциям Если на написанное выше ответить не удасться, то хотяб подскажите нормально ли использовать Synchronize() в конструкторе потока? |
||||
|
|||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
а почему бы не послушаться систему и не вызвать CoInitialize()?
+ странная у тебя конструкция получается... почему бы и запрос в поток не засунуть? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| SATYR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
CoInitialize() - Это метод ADODataSet?
А насчет
Добавлено @ 17:06 Или ты в смысле почему бы не создать обьект ADODataSet в потоке |
|||
|
||||
| _hunter |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
нет. это API-шная функция
именно -------------------- Tempora mutantur, et nos mutamur in illis... |
||||
|
|||||
| SATYR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
Пробовал. При попытке создать ADODataSet в потоке Сode Guard говорит : 'Method called ilegaly casted object ....'. Буду признателен если поясниш как грамотно это сделать. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
эээ... да точно так же как и не в потоке создавать...
показывай код. -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| SATYR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
CoInitialize(NULL) к стати помог
но в потоках народ советовал пользоваться CoInitializeEx (NULL,...) собственно код
Добавлено @ 15:13 delete Q; |
|||
|
||||
| SATYR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
Чесно сказать мне самому решение приведенное выше нравится более, но сдаётся мне что побороть 'Method called ilegaly casted object ...' не удастся
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
прямо там и говорит? быть такого не может... (или у тебя пятый билдер? )
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| SATYR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
6-й пропатченный
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
а как ( и где ) у тебя Q объявлено?
+ что там с местом? -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| SATYR |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
Шайтан все заработало. Создал похожую ситуевину в другом проекте только вот так.
Вчем грабли ?
Извиняюсь но вопрос не понял. С местом где ? |
||||
|
|||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
я спрашивал где именно появляется то сообщение. кстати, CoInitialize(NULL) достаточно вызвать один раз в конструкторе ( тут это побоку, но в знать это нужно ) + Q->Close(); -- лишнее ( DataSet и так закрыт ) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| SATYR |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 73 Регистрация: 24.5.2005 Репутация: нет Всего: нет |
Сode Guard-ое ? В коде эта строка коментарием снабжена ?
|
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
читал я этот коментарий. но билдер при броске исключения переходит на следующую строку. поэтому так говорить нельзя. вот если ты отладчиком поставил бряку и тыкнул на Step Over вот тогда можно говорить на этой строке.
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |