Форум: "Основная";
Текущий архив: 2002.07.08;
Скачать: [xml.tar.bz2];
ВнизНеясная ошибка при попытке использовании 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.005 c