我在本周早些时候回答了一个问题,我需要更进一步我正在使用 XE7,我在将表中的 blob 字段 (Image.jpg) 加载到 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;
一直在研究这个,我现在可以通过将 DBase Blob 保存为磁盘上的图像文件,然后从磁盘重新加载它,从而使 sample_2.jpg 图片被添加到列表框中,从而使程序在 Windows 中运行。
但是,这在 Android 中不起作用,因为我无法将文件保存在任何地方,因此我必须找到其他地方来保存图像文件