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

Вниз

OLE Error   Найти похожие ветки 

 
Dennis S   (2009-01-23 10:52) [0]

При работе со строками, программа выдаёт ошибку "OLE error 800A03EC".
Что это значит? В чём проблема?
Кол-во строк при получении сообщения об ошибке: 2819.
При кол-ве строк менее 2000 такого не происходит.
Что это?


 
Dennis S   (2009-01-23 10:56) [1]

Ошибка при обработке:

procedure TForm1.toEXCEL1Click(Sender: TObject);
begin
       panX.Color := clYellow;
       mmX.Enabled := False;
       mmX2.Enabled := False;
       Excel := CreateOleObject("Excel.Application.9");
       Excel.Workbooks.Add;
       Excel.ActiveWorkBook.WorkSheets[1].Cells[1,1] := "Шифр заказа";
       Excel.ActiveWorkBook.WorkSheets[1].Cells[1,2] := "Код";
       Excel.ActiveWorkBook.WorkSheets[1].Cells[1,3] := "Наименование";
       Excel.ActiveWorkBook.WorkSheets[1].Cells[1,4] := "Ед.";
       Excel.ActiveWorkBook.WorkSheets[1].Cells[1,5] := "Кол-во";
       Excel.ActiveWorkBook.WorkSheets[1].Cells[1,6] := "Доп.инфо";
       Excel.ActiveWorkBook.WorkSheets[1].Range["A1:F1"].Select;
       Excel.Selection.Font.Name := "Tahoma";
       Excel.Selection.Font.Size := 9;
       Excel.Selection.Font.Bold := True;
       Excel.Selection.Interior.ColorIndex := 6;

       For i := 1 to mmX2.Lines.Count do begin
       pBAR2.Position := i * 100 div (mmX2.Lines.Count-1);
       n := n + 1;
         Excel.ActiveWorkBook.WorkSheets[1].Cells[i+1,1] := lbNAME.Caption;
         S := mmX2.Lines.Strings[n-1];
         Excel.ActiveWorkBook.WorkSheets[1].Cells[i+1,2] := S;
         S := mmX2.Lines.Strings[n];
         Excel.ActiveWorkBook.WorkSheets[1].Cells[i+1,3] := S;
         S := mmX2.Lines.Strings[n+1];
         Excel.ActiveWorkBook.WorkSheets[1].Cells[i+1,4] := S;
         S := mmX2.Lines.Strings[n+2];
         Excel.ActiveWorkBook.WorkSheets[1].Cells[i+1,5] := S;
         S := mmX2.Lines.Strings[n+3];
         Excel.ActiveWorkBook.WorkSheets[1].Cells[i+1,6] := COPY(S,3,(length(S)-2));
         if S = "" then n := n + 4 else n := n + 5;
       Application.ProcessMessages;
       end;

       Excel.ActiveSheet.PageSetup.Orientation := 2;
       Excel.Visible := True;

       panX.Color := clBtnFace;
       mmX.Enabled := True;
       mmX2.Enabled := True;
end;


 
Сергей М. ©   (2009-01-23 11:42) [2]

Выполнение какой конкретно строчки вызывает это исключение ?


 
Плохиш ©   (2009-01-23 12:34) [3]


> Dennis S   (23.01.09 10:52)
>
>

Я вот твою ошибку в гуглю скопировал, просто слова между ковычками и он мне выдал

Ergebnisse 1 - 10 von ungefähr 881 für OLE error 800A03EC. (0,15 Sekunden)

Не так уж и много страниц.
и первая ссылка http://entwickler-forum.de/showthread.php?t=17274
в которой подробно расписано, что кроме указанного тобой кода, в сообщении есть конкретная ошибка, возвращаемая екселем....


 
Dennis S   (2009-01-23 13:10) [4]

2 Сергей М. ©
Прерывается на:
Excel.ActiveWorkBook.WorkSheets[1].Cells[i+1,6] := COPY(S,3,(length(S)-2));

2 Плохиш ©
Спасибо, конечно, но я в немецком "0"...
Поэтому, как говорил один из кино-героев: "Хотелось бы в общих чертах понять о чём речь..."
Предполагаю, что ключ есть в посте "Andreas Kosch", но в чём фишка не понимаю...


 
Сергей М. ©   (2009-01-23 13:23) [5]


> Кол-во строк при получении сообщения об ошибке: 2819.


Строк каких - тех что в Мемо или тех что ты заполняешь на раб.листе ?

Каким образом ты определил, что именно на этой строчке "прерывается" ?
И чему в этот момент равна i ?


 
Dennis S   (2009-01-23 13:49) [6]

2 Сергей М. ©
строк в memo, которые потом и обрабатываются в TForm1.toEXCEL1Click

при сборке и работе из Delphi выскакивает Debugger Exception Notification с выделением этой стоки в коде.

в этот момент i равна 463.


 
Сергей М. ©   (2009-01-23 13:55) [7]

А n в этот момент чему равна ?
И почему переменные i и n у тебя статические, а не локальные ?


 
Плохиш ©   (2009-01-23 14:22) [8]


> Хотелось бы в общих чертах понять о чём речь...

я это писал?

> кроме указанного тобой кода, в сообщении есть конкретная
> ошибка, возвращаемая екселем....


 
Dennis S   (2009-01-23 17:54) [9]

2 Сергей М. ©
...в этот момент i равна 463...
а n равна 2671.

попробовал другой массив пропустить - проходит нормально...
хотя кол-во строк больше: 3746
на финише: i = 3746, n = 19232
а первый не идёт и всё тут...

2 Плохиш ©
я не понимаю какая ошибка, что она значит и что нужно править...


 
Dennis S   (2009-01-26 16:00) [10]

Может кто-нибудь всё-таки знает, в чём ошибка....?


 
Сергей М. ©   (2009-01-26 16:35) [11]


> а n равна 2671


Чему при этом равно mmX2.Lines.Count ?

И еще раз - почему переменные i и n у тебя статические, а не локальные ?


 
Dennis S   (2009-01-26 18:16) [12]

mmX2.Lines.Count = 2819 (естественно, не меняется во время цикла)

а статические они, потому что используются ещё другой процедурой.


 
Сергей М. ©   (2009-01-26 19:01) [13]


> статические они, потому что используются ещё другой процедурой.


Одновременно с этой что ли ?
Ну тогда ты ССЗБ.


 
Сергей М. ©   (2009-01-26 19:03) [14]

procedure TForm1.toEXCEL1Click(Sender: TObject);
begin
..
      n := n + 1; //Чему равно n ?!!!!


 
Dennis S   (2009-01-27 00:07) [15]

Будешь тут ССЗБ... :(
то, что ты докопался до "n", "i" - это конечно правильно, код ещё пока кривой...
но обозначенная мною трабла не в этом...
сейчас кое-что нашёл по этой ошибке в сети - пытаюсь разобраться сам.


 
Dennis S   (2009-01-27 00:20) [16]

Всё, нашёл в чём фишка!!! :))
В одной из строк из-за смещения данных в "источнике", при экспорте в Excel в одной из ячеек таблицы получается нечто, похожее на "=45" на это Excel и ругается!!!

Кстати, как обработать эту ошибку и вывести сообщение типа "Смещение данных в ячейке "Х", информация будет заменена на "ХХХ"!" и продолжить процесс?



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

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

Наверх




Память: 0.51 MB
Время: 0.017 c
15-1231158936
ВованХ
2009-01-05 15:35
2009.03.15
Как установить компоненты DevExpress в VCL


15-1231941638
DillerXX
2009-01-14 17:00
2009.03.15
Подскажите про распределение нагрузок


8-1192292701
Dmitry_12_08_73
2007-10-13 20:25
2009.03.15
Графические компоненты


15-1231085420
blackman
2009-01-04 19:10
2009.03.15
Интернет-магазин. Кто делал или пользуется готовым?


2-1232705794
R13
2009-01-23 13:16
2009.03.15
Событие разрушения формы