Показать сообщение отдельно
  #1  
Старый 21.05.2007, 13:02
YCH.Del YCH.Del вне форума
Прохожий
 
Регистрация: 07.12.2006
Сообщения: 22
Репутация: 10
По умолчанию XLSReadWriteII 2.0 Rows.InsertRows - вылетает :(

Код:
var XLS: TXLSReadWriteII2;

В XLS уже занесена туева хуча значений, вот таким образом:
Код:
   with XLS.Sheets[0] do begin
     AsString[ACol, ARow] := Text;
Все это успешно сохраняется в файл - т.е. никаких проблем нету, вроде... Но при попытке сделать вот так
Код:
XLS.Sheets[0].Rows.InsertRows(1, 1)
вылетает - List insex out of bound -1
Заглянул Rows2.pas:
Код:
procedure TXLSRows.InsertRows(Row, RowCount: integer);
var
  i,Start: integer;
  XRow,SrcRow: TXLSRow;
begin
  if (Row < 0) or (Row > MAXROW) then
    raise Exception.Create('Invalid row');
  SrcRow := Find(Row - 1);
SrcRow у нас тут получается nil. Пробежавжись по F7 по данному файлу, добрался вот до такого:
Код:
function TXLSRows.FindIndex(Row: integer): integer;
var
  i,lo,hi: integer;
begin
  if (Row < 0) or (Count <= 0) or (Row > MAXROW) then begin
    Result := -1;
    Exit;
  end;
Count по непонятной пока для меня причине =0. Вроде бы строки есть, а ему все пох Если кто сталкивался - подскажите, как бороться с такой засадой...
Ответить с цитированием