Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.01.23;
Скачать: CL | DM;

Вниз

Помогите, при вызове метода объекта вылазит exeption:   Найти похожие ветки 

 
Дуся ©   (2004-04-02 22:42) [0]

The application called an interface that was marshalled for a different thread.
:(

Приложение чужое, использует библиотеку объектов, по которой я сгенерила TLB.
И все бы ничего, если бы не эта фигня :( Раньше все это работало, я только поменяла саму версию библиотеки (и файл tlb соответственно).

Помогите, сейчас уже 11 вечера, а я все еще на работе - если до понедельника не починю, придет "пушной зверек". :(


 
Дуся ©   (2004-04-05 09:52) [1]

Люди, ну неужели ни у кого не было таких ошибок??


 
VMcL ©   (2004-04-05 10:34) [2]

Вот, что говорит Яндекс:
http://www.rxlib.ru/faqs/faqd_en/27949.html
?


 
golova   (2004-04-05 11:45) [3]

статья "Понимание потоковых моделей в COM при программировании на Delphi" Автор Бин Ли

" ...
Правило #7: Для обеспечения корректного доступа к объектам COM множества потоков в РАЗДЕЛЬНЫХ подразделениях, указатель на интерфейс к этому объекту должен маршалироваться (транслироваться) из подразделения, в котором этот объект живет, в подразделение, в котором должен производиться доступ. Конечно, если доступ к объекту производится из своего собственного подразделения, то нет нужды ни в каком маршалинге, хотя это и не повредит. Причина этого заключается в том, как мы уже говорили ранее, что подразделение имеет хорошо определенный набор правил, как следует предоставлять доступ к объектам, живущим в нем. Для того, чтобы доступ к объекту потоками из других подразделений осуществлялся должным образом, Вы должны, когда понадобится доступ к объекту из другого подразделения, явно объявить COM, что правила доступа к этому объекту установлены корректно. Если Вы забываете производить маршалинг через подразделения при доступе к объектам COM и пытаетесь манипулировать простым указателем на интерфейс, COM выдаст Вам ошибку с кодом RPC_E_WRONG_THREAD ($8001010E), означающую "Приложение вызвало интерфейс, маршалированный для другого потока" ("The application called an interface that was marshaled for a different thread").

...

CoMarshalInterThreadInterfaceInStream - для экспорта/маршалинга и
CoGetInterfaceAndReleaseStream - для импорта/демаршалинга.

... "


 
Дуся ©   (2004-04-05 12:42) [4]

Спасибо!!!.. Пошла пробовать.



Страницы: 1 вся ветка

Текущий архив: 2005.01.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.086 c
14-1105153780
Думкин
2005-01-08 06:09
2005.01.23
С Днем рождения! 8 января


4-1101974919
Андрюша
2004-12-02 11:08
2005.01.23
Как можно отловить системные клавиши?


14-1104075275
Чеширский_Кот
2004-12-26 18:34
2005.01.23
Господа, с наступающим Новым Годом!


3-1103195036
IBChaynik
2004-12-16 14:03
2005.01.23
Refresh


14-1104859911
Cardinal
2005-01-04 20:31
2005.01.23
Теорема Фалеса