0
나는 이번 주 초에 질문에 대답했고, 나는 XE7을 사용하고 있고 테이블에서 BLOB 필드 (Image.jpg)를로드하는 데 문제가있다. ListBox 또는 심지어 나중에 Listbox에 입력 할 수있는 변수에 저장됩니다. 문자열 필드에 대해 잘 작동하는 코드는 아래와 같습니다. 추가되는blob 필드를 ListBox에로드하기
// draw address line and postcode to listbox
ListBox2.Clear;
ListBox2.BeginUpdate;
// Read From Database to Listbox
FDQueryUpdate.Close;
FDQueryUpdate.SQL.Text := 'SELECT Address1, Postcode, Photo FROM Address';
try
FDQueryUpdate.Open;
Item := TlistBoxItem.Create(ListBox2);
while not FDQueryUpdate.Eof do
begin
// create and format listbox to show bottomdetail
Item := TlistBoxItem.Create(ListBox2);
Item.StyleLookup := 'listboxitembottomdetail';
// draw address to text part and postcode to bottom detail of Listbox item
Item.Text := (FDQueryUpdate.Fields[0].AsString);
Item.ItemData.Detail := (FDQueryUpdate.Fields[1].AsString);
TBlobField(FDQueryUpdate.FieldByName('Photo')).SaveToFile('c:\sample_2.jpg');
Item.ItemData.Bitmap.LoadFromFile('c:\sample_2.jpg');
ListBox2.AddObject(Item);
FDQueryUpdate.Next;
end;
finally
ListBox2.EndUpdate;
FDQueryUpdate.Close;
end;
이에 근무하고 난 지금 sample_2.jpg 사진의 결과로, 다음, 디스크에 이미지 파일로 디베이스의 Blob을 저장하는 디스크에서 다시로드하여 Windows에서 작동 할 수있는 프로그램을 얻을 수 목록 상자에. 나는 어디서나 파일을 저장할 수
그러나이 때문에 나는 이미지 파일을 저장할 다른 장소를 찾아야한다, 안드로이드에서 작동하지 않습니다
'Stream.Position : = 0;'줄에 여분의'end;'가있는 것 같습니다. 오류가 발생 했어야하지만 실제 코드에는이 코드가 없을 수도 있습니다. –
예 게시 한 후 코드에없는 것으로 나타났습니다. – Cazhou