Проблема хранения 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;
|
Это все. Проблема решена.
|
|
  |
|
Магазин Картриджей: заправка картриджей Спортивная. . аренда строительного оборудования Киев . Унитазы от 2900 руб - унитазы roca. Купите унитаз Roca дешевле. . Moscow Linguistic Center - изучение английского языка самостоятельно. . купить матрас киев . |