Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.48 MB
Время: 0.016 c
1-15676
LazorenkoX
2003-01-27 12:10
2003.02.06
HTMLHELP


1-15690
Евгений Тарабановский
2003-01-27 14:43
2003.02.06
Антиалиасинг


3-15414
Жук
2003-01-21 15:26
2003.02.06
Аppend


3-15463
oleon
2003-01-20 13:54
2003.02.06
Как при подключении передать серверу HOST_NAME?


1-15747
Brain
2003-01-27 11:24
2003.02.06
Items - Очень надо.