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

Вниз

Microsoft Excel   Найти похожие ветки 

 
Jurden   (2002-11-28 14:36) [0]

Здраствуйте! Почему после выполнения следующей процедуры Excel висит в памяти (из-за чего если не виснет все, виснет сама программа)?

procedure T_Auto.sbExportClick(Sender: TObject);
var
Excel: Excel97.TExcelApplication;
WorkBook: Excel97.ExcelWorkBook;
WorkSheet: Excel97.ExcelWorkSheet;
begin
if (FileName <> "") then
begin
Excel := Excel97.TExcelApplication.Create(Self);
Excel.Connect;
WorkBook := (Excel.Workbooks.Open(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, False, 0));
WorkSheet := (WorkBook.Worksheets.Item[1] as Excel97._Worksheet);
// Работа с листом
WorkSheet := nil;
WorkBook := nil;
Excel.Quit;
FreeAndNil(Excel);
end
else
ShowMessage("Имя файла не выбрано!");
end;


 
sask   (2002-11-28 14:46) [1]

После работы с книгой: WorkBook.Close
и вместо Excel.Quit поставить Excel.Disconnect


 
sask   (2002-11-28 14:49) [2]

Причем все это в соответствующие try...finally


 
Jurden   (2002-11-28 15:14) [3]

Подправил, все равно висит.

procedure T_Auto.sbExportClick(Sender: TObject);
var
Excel: Excel97.TExcelApplication;
WorkBook: Excel97.ExcelWorkBook;
WorkSheet: Excel97.ExcelWorkSheet;
begin
if (FileName <> "") then
begin
Excel := Excel97.TExcelApplication.Create(Self);
Excel.Connect;
WorkBook := (Excel.Workbooks.Open(FileName, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, EmptyParam, False, 0));
WorkSheet := (WorkBook.Worksheets.Item[1] as Excel97._Worksheet);
// Работа с листом
WorkSheet := nil;
WorkBook.Close(False, FileNamem, EmptyParam, 0);
Excel.Disconnect;
FreeAndNil(Excel);
end
else
ShowMessage("Имя файла не выбрано!");
end;


 
Song   (2002-11-28 15:19) [4]

FreeAndNil(Excel); ???

Excel:=unAssigned;


 
Jurden   (2002-11-28 15:39) [5]

[Error] deAuto.pas(164): Incompatible types: "TExcelApplication" and "Variant"



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

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

Наверх




Память: 0.45 MB
Время: 0.007 c
3-27803
muzzzy
2002-11-22 09:59
2002.12.09
db (paradox dos) конвертнуть в dbf (win)


3-27840
cutter-pro
2002-11-20 17:40
2002.12.09
Каскадное удаление в Paradox


3-27796
Евгений__
2002-11-20 09:28
2002.12.09
В программе не видно Interbase-е исключение


3-27823
Veronika
2002-11-20 13:45
2002.12.09
Временные таблицы в IB


1-27988
snake1977
2002-11-25 12:54
2002.12.09
Точек на символ





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