Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.013 c
14-15930
Шоломицкий
2003-01-21 19:41
2003.02.06
Есть тут программеры из Microsoft?


6-15779
Kon2002
2002-10-30 13:34
2003.02.06
WinXP+Internet


14-15884
MAN-IN-RED
2003-01-19 15:51
2003.02.06
Как часто вы используете комментарии в программах?


9-15388
Delphi 5.01
2002-08-19 21:01
2003.02.06
Information About Game Designe (infa po sozdaniu igr kak obichni)


14-15874
Феликс
2003-01-18 13:26
2003.02.06
PERL VS PHP




   Наверх