Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Corba";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Помогите, при вызове метода объекта вылазит 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 вся ветка

Форум: "Corba";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.037 c
1-1105239762
HF-Trade
2005-01-09 06:02
2005.01.23
Как выйти из цикла For и продолжить выполнение программы?


11-1086170121
Денис
2004-06-02 13:55
2005.01.23
Модуль ExptIntf


3-1103532135
Developerr
2004-12-20 11:42
2005.01.23
Как програмно добавить поле в базу данных?


14-1105169779
SergP
2005-01-08 10:36
2005.01.23
RAdmin. Почему так? Крутой комп круче тормозит.


1-1104931809
Andrey, K
2005-01-05 16:30
2005.01.23
ListBox, cut and paste





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский