Главная страница
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.013 c
1-23606
Lex1
2002-06-25 13:46
2002.07.08
Как коректно определить ширину полосы прокрутки


4-23826
anod
2002-05-09 00:18
2002.07.08
Сообщение от меню


14-23749
veselov
2002-06-06 15:23
2002.07.08
Надо кредит бокс !!


3-23492
insmod
2002-06-17 11:47
2002.07.08
SQL запрос и переменные в нем или...


3-23518
Сано
2002-06-18 09:38
2002.07.08
Parameters