Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как после работы с Excel убивать его в памяти [D5, Win2k]


Chainik ©   (2003-01-08 14:22:00) 

После написания такого кода:

procedure TForm1.Button1Click(Sender: TObject);
var vExcel: OLEVariant;
begin
vExcel := CreateOLEObject("Excel.Application");
vExcel.WorkBooks.open("D:\my.xls",true);
Edit1.Text:=vExcel.WorkBooks[1].WorkSheets[1].Cells[34,2];

//vExcel.Destroy;

vExcel.Quit;
// vExcel:=unassigned;


end;


Excel загружается (в смысле отображается в диспетчере задач) почему-то два раза: при запуске проги и при нажатии собственно на Button1. А при закрытии один пропадает.


Chainik   (2003-01-08 19:21:00) [1]


>to TTCustomDelphiMaster ©

Огр. спасибо, помогло.


TTCustomDelphiMaster   (2003-01-08 18:00:00) [2]

procedure TForm1.Button1Click(Sender: TObject);
var vExcel: OLEVariant;
begin
vExcel := CreateOLEObject("Excel.Application");
vExcel.WorkBooks.open("D:\my.xls",true);
Edit1.Text:=vExcel.WorkBooks[1].WorkSheets[1].Cells[34,2];

//vExcel.Destroy;

vExcel.Quit;
// vExcel:=unassigned;
vExcel := null;

end;


Chainik   (2003-01-08 17:41:00) [3]

Спасибо.


Matolch.   (2003-01-08 16:47:00) [4]

WM_QUIT ваще


Matolch.   (2003-01-08 16:46:00) [5]

var
Form1: TForm1;
vExcel: OLEVariant; //ukj,

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
vExcel := CreateOLEObject("Excel.Application");
vExcel.WorkBooks.Add;//("D:\my.xls",true);
vExcel.WorkBooks[1].WorkSheets[1].Cells[34,2] := Edit1.Text;
vExcel.Quit; // если так, то Дельфя его сама убьет.
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
vExcel.Visible := False;// если не так, то не убьет
//vExcel.Quit; //А может так
end;


А два раза - наверняка до этого не вышел просто


Chainik   (2003-01-08 16:06:00) [6]

Кстати, я просто создал опять заново новый проект с этим событием и теперь действительно один раз появляется, но все же Quit не срабатывает.


Chainik   (2003-01-08 15:47:00) [7]

Да нет, вся прога состоит только из этого события


cult   (2003-01-08 15:15:00) [8]

значит, ты его где-то еще прописал, иначе он бы два раза не грузился


Наверх

Титульная страница Поиск, карта сайта Написать письмо