このコードが機能しないのはなぜですか:
画像の保存は、このコードで問題ありません (レポートにも画像が表示されます)。
gallery.append;
gallery.FieldByName('Image').Assign(pic.Picture.Bitmap);
gallery.post;
ただし、このコード:
Gallery.Insert;
S := CreateBlobStream(gallery.FieldByName('Image'), bmWrite);
Image1.Picture.Bitmap.SaveToStream(S);
gallery.Post;
S.Free;
「DataSet は編集または挿入モードではありません」というエラーが発生します。というわけで最初のものを使いました。
しかし、Timageでフォームに戻すと、「無効なビットマップ形式」になります
var S : TStream ;
s := gallery.CreateBlobStream(gallery.FieldByName('Image'), bmRead);
Pic.Picture.Bitmap.LoadFromStream(S);
s.Free;
エラーはどの画像でも表示されます。About.comのチュートリアルを使用してDBimageも試しましたが、エラーが発生し続けます。データベースは Access 2010 で、画像フィールドは OLE (blob) です。ちょっと立ち往生。
s