![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ошибка при работе с excel из потока
mariya_mezenceva © (2005-06-22 12:00:00)работаю с excel из потока
как только вызываю ls:=oex.workbooks[1].sheets['Соответствия'];
где ls,oex:variant, а oxe - приложение excel
выдает ошибку 'Приложение обратилось к интерфейсу,относящемуся к другому потоку'
неужели из потока нельзя работать с excel?
помогите, пожайлуста, кто может
Digitman (2005-06-22 12:48:00) [1]
> все в одном потоке
нет, не в одном !
и сообщение об ошибке прямо и недвусмысленно об этом говорит !
> где oex там и юзаю его
а гдеу тебя этот самый oex ?
где-то там (неизвестно , кстати, где) объявить переменную и фактически использовать ее в том или ином потоке - две разные разницы)
mariya_mezenceva (2005-06-22 12:45:00) [2]ну я же сказала
где oex там и юзаю его
все в одном потоке!!!
Digitman (2005-06-22 12:40:00) [3]
> oex создается в потоке, а не в основном
а "основной" это по-твоему не поток ?
это такой же равноправный поток, как и все прочие, потенциально существующие в контексте процесса
вот где он, apartment-объект создается, там же , в том же потоке, и методы/свойства его допустимо юзать ... и не важно при этом, основной он или не основной ..
mariya_mezenceva (2005-06-22 12:37:00) [4]oex создается в потоке, а не в основном
Digitman (2005-06-22 12:07:00) [5]
> выдает ошибку 'Приложение обратилось к интерфейсу,относящемуся
> к другому потоку'
фабрика класса excel-сервера имеет атрибут apartment
поэтому и ошибка
при apartment недопустимо создавать интерфейсный объект в одном потоке, а обращаться к его методам/свойствам в другом потоке
на то и apartment
> где ls,oex:variant
а д.б. Olevariant .. хотя это и не принципиально в ряде случаев
-=XP=- (2005-06-22 12:04:00) [6]Создавать в этом же потоке.