Показать сообщение отдельно
  #1  
Старый 12.04.2010, 15:48
Аватар для Dead_Gigabit
Dead_Gigabit Dead_Gigabit вне форума
Начинающий
 
Регистрация: 20.10.2009
Адрес: Там где холодно и сыро.... брр
Сообщения: 135
Версия Delphi: Delphi XE
Репутация: 10
Вопрос Копирование в пределах одной таблицы

Задача такая есть база в MS Access нашел исходник который копирует запись:

Код:
var
  i: Cardinal;
  srcStream: TBlobStream;
begin
  try
    with datamodule4.ADOTable1 do
    begin
      CheckBrowseMode;
      if EOF or BOF then
        raise Exception.Create('Разместите курсор на правильной строке');
    end;
    with datamodule4.ADOTable2 do
    begin
      Append;
      for i := 0 to datamodule4.ADOTable1.FieldCount - 1 do
        if datamodule4.ADOTable1.Fields[i].DataType < ftBytes then
          FieldByName(datamodule4.ADOTable1.Fields[i].FieldName).Assign(datamodule4.ADOTable1.Fields[i])
        else
        try
          srcStream := nil;
          srcStream := TBlobStream.Create(TBlobField(datamodule4.ADOTable1.Fields[i]), bmRead);
          TBlobField(FieldByName(datamodule4.ADOTable1.Fields[i].FieldName)).LoadFromStream(srcStream);
        finally
          if Assigned(srcStream) then
            srcStream.Free;
        end;
      Post;
      datamodule4.ADOtable1.Active:=false;
      datamodule4.ADOtable1.Active:=true;
    end;
     except
    on E: EDBEngineError do
      MessageDlg(E.Message, mtError, [mbOk], 0);
    on E: Exception do
      MessageDlg(E.Message, mtError, [mbOk], 0);
  end;
 end;
прогга компилиться ,но при копировании запись ругаеться на строку (выдилил красным)
выводит ошибку:
First chance exception at $7C81EB33. Exception class EInvalidCast with message 'Invalid class typecast'. Process Project1.exe (2712)

в чем моя ошибка подскажите пожалуйста...
Ответить с цитированием