|
|
|
Ошибка при вызове COM
|
|||
|---|---|---|---|
|
#18+
Уже писал на этот счет, но так и не получил ответа, но вот появились новые факты. Пишу я на Visual C++ .Net, проекты MFC. Я работаю через дерективу #import, с "умными указателями" на классы в объектах COM. Создавал свои объекты, пытался с ними работать и получал при выходе из программы такую ошибку: Код: plaintext 1. 2. 3. 4. 5. Думал, может это у меня такие кривые объекты com, ведь когда работал с Excel тоже через import, то все было просто превосходно. Но вот стал работать с MSXML, так выходит такая же ошибка! В чем дело? Почему это происходит??? Указатели я сам не удаляю, они у меня объявлены в членах класса. Как только происходит удаление этого класса (диалог), сразу программа вылетает в выше указанный код. Пожалуйста, помогите!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 13:36 |
|
||
|
Ошибка при вызове COM
|
|||
|---|---|---|---|
|
#18+
но при работе с умными указателями не надо вызывать релиз. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 15:09 |
|
||
|
Ошибка при вызове COM
|
|||
|---|---|---|---|
|
#18+
HomosumУже писал на этот счет, но так и не получил ответа, но вот появились новые факты. Пишу я на Visual C++ .Net, проекты MFC. Я работаю через дерективу #import, с "умными указателями" на классы в объектах COM. Создавал свои объекты, пытался с ними работать и получал при выходе из программы такую ошибку: Код: plaintext 1. 2. 3. 4. 5. Думал, может это у меня такие кривые объекты com, ведь когда работал с Excel тоже через import, то все было просто превосходно. Но вот стал работать с MSXML, так выходит такая же ошибка! В чем дело? Почему это происходит??? Указатели я сам не удаляю, они у меня объявлены в членах класса. Как только происходит удаление этого класса (диалог), сразу программа вылетает в выше указанный код. Пожалуйста, помогите!!! Была у меня такая же фигня с ADO... Вылечилась банально: надо было в коде прописать уничтожение созданных объектов. Например, такой код (не смог найти оригинал, поэтому приведу лишь схему): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 15:14 |
|
||
|
Ошибка при вызове COM
|
|||
|---|---|---|---|
|
#18+
Станислав C. HomosumУже писал на этот счет, но так и не получил ответа, но вот появились новые факты. Пишу я на Visual C++ .Net, проекты MFC. Я работаю через дерективу #import, с "умными указателями" на классы в объектах COM. Создавал свои объекты, пытался с ними работать и получал при выходе из программы такую ошибку: Код: plaintext 1. 2. 3. 4. 5. Думал, может это у меня такие кривые объекты com, ведь когда работал с Excel тоже через import, то все было просто превосходно. Но вот стал работать с MSXML, так выходит такая же ошибка! В чем дело? Почему это происходит??? Указатели я сам не удаляю, они у меня объявлены в членах класса. Как только происходит удаление этого класса (диалог), сразу программа вылетает в выше указанный код. Пожалуйста, помогите!!! Была у меня такая же фигня с ADO... Вылечилась банально: надо было в коде прописать уничтожение созданных объектов. Например, такой код (не смог найти оригинал, поэтому приведу лишь схему): Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Sorry, я работаю в VS 6.0 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 15:15 |
|
||
|
Ошибка при вызове COM
|
|||
|---|---|---|---|
|
#18+
maXmoно при работе с умными указателями не надо вызывать релиз. ------------------ - А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно rtfm Так я и не вызываю Relese. У меня дебаггер туда прыгает! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 16:35 |
|
||
|
Ошибка при вызове COM
|
|||
|---|---|---|---|
|
#18+
Вроде решил проблему, но думаю, не будет ли проблем в дальнейшем??? Я убрал ::CoUninitialize(); и меня описанная ошибка перестала вызываться!!! Я так понял, что удаляться умные указатели должны именно до ::CoUninitialize(); Но тогда возникает резонный вопрос. А нужно ли вообще вызываеть эту функцию? Если да, то такие последствия могут быть от ее не вызова. Где же мне ее тогда вызывать??? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 16:45 |
|
||
|
Ошибка при вызове COM
|
|||
|---|---|---|---|
|
#18+
Dmitrii K. CoUninitialize Работа с COM читайте доки... Я создал деструктор для класса CTestXMLApp, т.е. для класса приложения и вызвал там CoUninitialize. Так можно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.05.2006, 17:17 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=353&tid=2031203]: |
0ms |
get settings: |
7ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 228ms |
| total: | 350ms |

| 0 / 0 |
