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

Вниз

глюки с TThread   Найти похожие ветки 

 
IOrist   (2007-11-10 14:41) [0]

Хочу, чтобы моя прога одновременно работала с Excel и выполняла др. действия. В обработчике TestTread.Execute пишу:

[B]procedure[/B] TestTread.Execute();
[B]var[/B] ExcelApplication1:TExcelApplication;
   lcid:integer;
[B]begin[/B]
lcid:=LOCALE_USER_DEFAULT;
ExcelApplication1:=TExcelApplication.Create(ExcelApplication1);

...
[B]end[/B];

Выдает ошибку Stack owerflow. по всякому пытался поправить этот глюк и ничего не пашет.


 
Palladin ©   (2007-11-10 14:55) [1]

ну во первых ExcelApplication1:=TExcelApplication.Create(Nil);
а во вторых причина не в потоке


 
IOrist   (2007-11-10 14:56) [2]

а в чем?


 
Anatoly Podgoretsky ©   (2007-11-10 15:02) [3]

> IOrist  (10.11.2007 14:56:02)  [2]

В коде который не приведен.


 
Kolan ©   (2007-11-10 15:02) [4]

> а в чем?

А видимо в том как ты создаешь ExcelApplication1. Что такое Owner ты понимаешь?

ЗЫ
 ExcelApplication1:=TExcelApplication.Create(Nil); Помогло?


 
Palladin ©   (2007-11-10 15:04) [5]

жестокий вопрос

откуда я знаю? именно то место которое ты тут написал, никакой ошибки про переполнение стека выдать не может


 
IOrist   (2007-11-10 15:11) [6]

Помогло, но например


lcid:=LOCALE_USER_DEFAULT;
ExcelApplication1.Visible[lcid]:=true;


т е открываю сам Excel и появится ошибка
"Небыл произведен вызов ColInitialize".


 
Anatoly Podgoretsky ©   (2007-11-10 15:17) [7]

> IOrist  (10.11.2007 15:11:06)  [6]

Ну и сделай что просят


 
Palladin ©   (2007-11-10 15:18) [8]

ну вот и произведи

предварительно указав в dpr первой строчкой
CoInitFlags:= COINIT_MULTITHREADED;

нужные юниты уж сам постарайся поискать


 
Palladin ©   (2007-11-10 15:21) [9]

не забудь после CoUninitialize сделать, по окончанию работы


 
IOrist   (2007-11-10 15:25) [10]

Я с потоками в первый раз сталкиваюсь. Я не понял куда че писать.
Можешь по подробнее?


 
Palladin ©   (2007-11-10 15:31) [11]

За метлой


 
IOrist   (2007-11-10 15:34) [12]

не ну правда, я не понял


 
Kolan ©   (2007-11-10 15:41) [13]

> не ну правда, я не понял

http://www.delphikingdom.com/asp/listerrors.asp?ID=62


 
Anatoly Podgoretsky ©   (2007-11-10 15:45) [14]

В более поздних версиях это является параметром функции. Если использовать CoInitializeEx


 
IOrist   (2007-11-10 16:18) [15]

вызвать ColInitialize, а по окончанию CoUninitialize. Тока не могу найти тот модуль (uses), который определяет эти функции.


 
IOrist   (2007-11-10 16:53) [16]

спасибо разобрался с этим, токо вот чего осталось.
В конце процедуры, которую я вынес в дочерний поток, у меня открывается книга Excel. Дело в том, что она сразуже закрывается.
Наверно это из-за того, что поток при окончании работы разрушается => разрушает свои локальные переменные.

как зделать чтобы эта книга не закрылась?



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

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

Наверх





Память: 0.47 MB
Время: 0.045 c
2-1194597655
allucard
2007-11-09 11:40
2007.12.02
Работа с массивом через указатели


15-1193609979
Riply
2007-10-29 01:19
2007.12.02
Ubuntu


2-1194428093
allucard
2007-11-07 12:34
2007.12.02
тип данных


15-1193483009
VovaK
2007-10-27 15:03
2007.12.02
Кнопка со стрелкой вниз.


11-1179038922
VPBar
2007-05-13 10:48
2007.12.02
Предложение по доработке MCK для совместимости с автоформатерами





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский