Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.07.08;
Скачать: CL | DM;

Вниз

Неясная ошибка при попытке использовании EXCEL (OLE object)   Найти похожие ветки 

 
strel ©   (2002-06-18 19:04) [0]

Подскажите, почему возникает ошибка ПРИ ВЫХОДЕ ИЗ ПРОГРАММЫ
если исполняется следующий код : (сам код исполняется без ошибок)

Excel := CreateOleObject(InputBox"OleStr", "CreateOleObject", "Excel.Application.8") );
Excel.Visible := False;
//Excel.Workbooks.Open( OpenDialog.FileName );
Excel.Workbooks.Open( "c:\book.xls" );
WorkSheet := Excel.Workbooks[1].WorkSheets[1];
memo1.Clear;
for I := 1 to WorkSheet.Cells.CurrentRegion.Columns.Count do
memo1.Lines.add(VarToStr( WorkSheet.Cells[1,I] ));

Excel.Workbooks.Close;
Excel.Quit;

end;


 
VICTOR_   (2002-06-18 20:02) [1]

//Попробуй вместо Excel.Quit;
WorkSheet := Null;
Excel := Null;


 
strel ©   (2002-06-19 00:59) [2]

К сожалению, это не спасло - все равно выдает ошибку
(что-то про pointer)....

беда :(


 
VICTOR_   (2002-06-19 14:09) [3]

>К сожалению, это не спасло - все равно выдает ошибку
>(что-то про pointer)....
Это в DELPHI6, ты очевидно писал NIL, я даже не знаю чем они заменили Null, а я писал в DELPHI5 :((

1.Попробуй, код приведенный ниже работает без проблем в DELPHI6, возможно у тебя другое описание, у меня строка
Excel := CreateOleObject(InputBox"OleStr", "CreateOleObject", "Excel.Application.8") );
при компиляции выдает ошибку
2.Если не поможет, то попробуй увеличить минимальное значение виртуальной памяти в WINDOWS до 192MB.


unit Unit1;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, comobj ;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
var EXCEL,WorkSheet:olevariant;
I:INTEGER;
begin
Excel := CreateOleObject("Excel.Application");
Excel.Visible := False;
//Excel.Workbooks.Open( OpenDialog.FileName );
Excel.Workbooks.Open( "c:\book.xls" );
WorkSheet := Excel.Workbooks[1].WorkSheets[1];
memo1.Clear;
for I := 1 to WorkSheet.Cells.CurrentRegion.Columns.Count do
memo1.Lines.add(WorkSheet.Cells[1,I]);

Excel.Workbooks.Close;
Excel.Quit;

END;

end.


 
ДимкаН   (2002-06-25 12:20) [4]

Если это 97 офис, то глюк в нем. Нужен второй сервис-пак.


 
AFROLOV ©   (2002-06-25 12:54) [5]

Excel:= Unassigned;


 
olookin ©   (2002-06-26 16:28) [6]

или Excel:=0;

если он конечно типа variant


 
Volj ©   (2002-06-26 21:52) [7]

У тебя переменная Excel объявлена как поле формы? Убери ее оттуда и все будет ok



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

Текущий архив: 2002.07.08;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.009 c
3-23509
3asys
2002-06-16 23:33
2002.07.08
Кодировка при использовании ADO


14-23746
QWest
2002-06-04 09:04
2002.07.08
Доделал прогу....


4-23846
Avgurin
2002-05-10 06:49
2002.07.08
Опять SysTray


3-23468
VikOs
2002-06-14 17:14
2002.07.08
Query


14-23742
Malder
2002-06-03 17:35
2002.07.08
Сайты со всякими странностями