Текущий архив: 2007.12.02;
Скачать: CL | DM;
Вниз
глюки с 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;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.034 c