Проблема хранения TDBImage
Проблема хранения TDBImage
Проблема хранения TDBImage Исходный код компонента dbimage содержит ошибку, поскольку пробует загрузить данные буфера обмена, ища cf_picture. А это несовместимо с хранящимися в поле данными. Я исправил эту ошибку, изменив исходный код таким образом, чтобы данные буфера обмена сначала читались во временный tbitmap. tbitmap регистрируется как cf_picture. Временное изображение затем назначалось полю и, поскольку оно также работает с изображениями, то и данным поля. Все это потребует от вас изменений в исходном коде vcl, конкретно - в модуле dbctrls.pas. Затем, естественно, это необходимо перекомпилить и пересобрать: procedure tdbimage.pastefromclipboard; var clipbrdbmp: tbitmap; begin clipbrdbmp := tbitmap.create; if clipboard.hasformat(cf_bitmap) and fdatalink.edit then begin clipbrdbmp.assign(clipboard); picture.assign(clipbrdbmp); end; clipbrdbmp.free; end; Это все. Проблема решена.