Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> ExcelApplication при повторном обращении ошибка 
V
    Опции темы
Avada
Дата 25.12.2010, 13:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.11.2010

Репутация: нет
Всего: нет



Всем привет.

Вобщем, программа сохраняет нужные данные в эксель.
Но есть одна проблема, мало того, что в директории
появляется файл RESUME.XLW, так еще и если еще раз
сделать повторный запрос(сохранить те же данные в файле),
сразу высвечивает ошибку Access Violation. Вот код:

Код

procedure TForm1.Label14Click(Sender: TObject);
var
i, j: integer;
s: string;
begin
ExcelApplication1.Connect;
// создать эксель-книгу
ExcelApplication1.Workbooks.Add(EmptyParam, 0);
// откр хмл-документ
XMLDocument1.LoadFromFile('groups.xml');
XMLDocument1.Active := true;
j := XMLDocument1.DocumentElement.ChildNodes[group].ChildNodes.Count;
i := 0;
while i <> j do begin
s := XMLDocument1.DocumentElement.ChildNodes[group].ChildNodes[i].Text;
ExcelApplication1.Range['c'+inttostr(i+5), EmptyParam].Value2 := inttostr(i+1);
ExcelApplication1.Range['c'+inttostr(i+5),EmptyParam].HorizontalAlignment := xlCenter;
ExcelApplication1.Range['D'+inttostr(i+5), EmptyParam].Value2 := s;
inc(i);
end;
XMLDocument1.Active := false;
// сохранить и выйти
ExcelApplication1.Save;
ExcelApplication1.Quit;
ExcelApplication1.Disconnect;
ExcelApplication1.Free


В чем может быть дело?

Добавлено @ 13:05
Я даж разобрался в чем дело. Дело в:
Код

ExcelApplication1.Free;

незнаю только, без него нельзя, потому что
иначе кол-во книг идет по нарастающей.
И при след. запросе сохраняет уже 2(и т.д.) книги

Добавлено @ 13:12
заменил на:
Код

ExcelApplication1.FreeOnRelease;


работает без помех. Вопрос, корректно ли это?
и остается вопрос, что это за файл RESUME.XLW,
при каждом сохранении книги его предлагает заменить,
если не заменить, запрос обработан не будет.
Этот файл тоже эксельного типа, содержит ту же информацию, 
что и книга, в которую я сохраняю.

Это сообщение отредактировал(а) Avada - 25.12.2010, 13:22
PM MAIL   Вверх
Avada
Дата 25.12.2010, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.11.2010

Репутация: нет
Всего: нет



а, не, все равно сохранять предлагает несколько за раз.
у меня в директории 4 книги, вот 4 раза и предлагает.
Помимо предложения перезаписать RESUME.XLW

подскажите, в чем дело может быть
PM MAIL   Вверх
Данкинг
Дата 25.12.2010, 14:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Код

ExcelApplication1.DisplayAlerts:=false;

?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Avada
Дата 25.12.2010, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.11.2010

Репутация: нет
Всего: нет



С одной стороны, все хорошо, хотя почему-то работает только так:
Код

ExcelApplication1.DisplayAlerts[0] := false;


там какой-то тип, wordbool, с ним как-то по-особому надо работать?

С другой стороны, файл RESUME.XLW продолжает появлятся,
благо я знаю к нему полный путь, и удаляю функцией deleteFile();

а если у другого человека этот файл будет сохранятся в другом месте?
будет гадать, что это такое. Помогите с файлом разобраться
PM MAIL   Вверх
Данкинг
Дата 25.12.2010, 18:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Avada @  25.12.2010,  16:04 Найти цитируемый пост)
там какой-то тип, wordbool, с ним как-то по-особому надо работать?

Нет, вот как я написал, так и надо.
Цитата(Avada @  25.12.2010,  16:04 Найти цитируемый пост)
С другой стороны, файл RESUME.XLW продолжает появлятся,

Этого не знаю, видимо, как-то с "Офисом" связано. Я с новыми "офисами" (старше MS-2003) особо не работал. smile Возможно, там какое-то автосохранение и есть.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Avada
Дата 26.12.2010, 03:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 39
Регистрация: 24.11.2010

Репутация: нет
Всего: нет



Да, я так и сделал, только добавил [0], как показал постом выше.
Это какая-то рабочая область, безобидная в принципе, может сам удалит.
Она все-равно складывается в мои документы, даже если сохранять в другом 
месте.
Вобщем, тема решена. Спасибо!

Это сообщение отредактировал(а) Avada - 26.12.2010, 03:57
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0670 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.