Текущий архив: 2003.02.06;
Скачать: CL | DM;
ВнизРабота с блоб полями Найти похожие ветки
← →
Alek_1 (2003-01-17 21:13) [0]Доброе время суток!
У меня такой вопрос:
почему когда я записываю в блоб поле картинку вот код:
if Planirovka.Image1.Picture<>Nil then begin
stream:=TmemoryStream.Create;
jpg:=TJpegImage.Create;
Jpg.Assign(Planirovka.Image1.Picture);
Jpg.SaveToStream(stream);
stream.position:=0;
TBLOBField(DMD.Flat.FieldByName("Planirovk1")).LoadFromStream(stream);
jpg.free;
stream.free;
end;
with DMD.flatsource.DataSet do begin
if State in [dsEdit,dsInsert] then Post;
DMD.flat.ApplyUpdates;
//DMD.flat.CommitUpdates;
end;
то выскакиевает ошибка "Blob has been modified." ???
И еще почему не работает вот эта строка
if Planirovka.Image1.Picture<>Nil then begin
даже если в Image нет картинки выполняется этот код и тоже выскакивает ошибка
"Cannot assign a TPicture to a TJpegimage."???
А то я уже задолбался с этим мучиться никак не получается а использовать компаненты типа Imagelib мне не охото из-за того что приходится таскать библиотеки лишние да и платить не хочу.
← →
gsu (2003-01-17 21:22) [1]if not Planirovka.Image1.Picture.bitmap.Empty
Jpg.assign(JPEGImage(Planirovka.Image1.Picture.Graphic))
← →
Alek_1 (2003-01-17 21:30) [2]Спасибо попробую
← →
Лесник (2003-01-17 23:18) [3]В разделе Uses пропиши Jpeg
← →
Alek_1 (2003-01-18 15:16) [4]
> Лесник ©
уже прописал но всеравно спасиба!
← →
Alek_1 (2003-01-19 14:37) [5]
> gsu ©
если писать так как ті предложил то в блоб не сохраняется либо
я не могу из него правильно прочитать.
Может подскажешь тогда как єто зделать ??
← →
Alek_1 (2003-01-20 09:22) [6]ну так что никто незнает???
← →
BorisUK (2003-01-20 09:57) [7]
procedure TForm1.Button2Click(Sender: TObject);
var
MemStream: TMemoryStream;
begin
MemStream := TMemoryStream.Create;
if not (Table1.State=dsEdit) then Table1.Edit;
TGraphicField(Table1.FieldByName("Graphic")).SaveToStream(MemStream);
Image1.Picture.LoadFromFile("puppy2.jpg");
Image1.Picture.Bitmap.LoadFromStream(MemStream);
// MemStream.Seek(0, soFromBeginning);
MemStream.Free;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
MemStream: TMemoryStream;
Img: TBitmap;
jImg: TJPEGImage;
begin
OpenPictureDialog1.Execute;
if not (OpenPictureDialog1.FileName="") then begin
Img := TBitmap.Create;
jImg := TJPEGImage.Create;
MemStream := TMemoryStream.Create;
jImg.LoadFromFile(OpenPictureDialog1.FileName);
Img.Assign(jImg);
jImg.CompressionQuality := 60;
Img.SaveToStream(MemStream);
MemStream.Seek(0, soFromBeginning);
if not (Table1.State=dsEdit) then Table1.Edit;
TBLOBField(Table1.FieldByName("BMP")).LoadFromStream(MemStream);
Table1.Post;
MemStream.Free;
Img.free;
jImg.Free;
end;
end;
Была такаяже ошибка но я не понял почему, может база некоректно закрылась... вот это все работает вроде.
Смотри чтоб база была закрыта при запуску...
Потом делаешь к ней коннект, перед выходом закрыва.
Буду рад если поможет - это пример для тестовой базы BDDEMOS
табла animals.dbf
← →
Alek_1 (2003-01-20 20:10) [8]
> BorisUK ©
спасибо попробую
если кто еще чем может помочь то высказывайтесь не стесняйтесь!!!
Страницы: 1 вся ветка
Текущий архив: 2003.02.06;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.009 c