Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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
3-23447
PTE
2002-06-13 14:26
2002.07.08
DBGridEh DBSumList как с ними работать?


14-23771
vads
2002-06-07 23:50
2002.07.08
ПЕРЕПИСЫВАЮ КОМПОНЕНТУ (TDBGrid) - очень надо ???


3-23475
Eraser
2002-06-08 00:15
2002.07.08
Как изменить формат данных в TDBEdit


1-23625
Strannic
2002-06-25 17:26
2002.07.08
Создание программной группы и иконки (ярлыка).


3-23523
Tutov Roman
2002-06-18 10:43
2002.07.08
как заменить строку в таблице.





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