Задача такая есть база в 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)
в чем моя ошибка подскажите пожалуйста...