Delphi バリューオブジェクトにおけるバイナリの利用
Delphiでバリューオブジェクトで作成したバリューオブジェクトに、バイナリの項目を追加します。画像コンポーネントなどは SaveToStream を持っており 内部データをストリームに変換することができます。
uOrderItemVO.pas
unit uOrderItemVO; interface uses System.Classes, System.SysUtils; // 注文アイテムバリューオブジェクト type TOrderItemVO = class private FItemNo: string; FPrice: Integer; FAmount: Integer; // 注文アイテムの画像イメージ FItemImage: TBytes; public // アイテム番号 property ItemNo: string read FItemNo write FItemNo; // 価格 property Price: Integer read FPrice write FPrice; // 数量 property Amount: Integer read FAmount write FAmount; // 注文アイテムの画像イメージ property ItemImage: TBytes read FItemImage write FItemImage; procedure SetItemImageFromStream(const Stream: TMemoryStream); function GetItemImageAsStream(): TMemoryStream; end; implementation procedure TOrderItemVO.SetItemImageFromStream(const Stream: TMemoryStream); begin SetLength(FItemImage, Stream.Size); Stream.Position := 0; Stream.Read(FItemImage[0], Stream.Size); end; // 呼び出し元でメモリ開放 function TOrderItemVO.GetItemImageAsStream() : TMemoryStream; begin Result := TMemoryStream.Create; Result.Write(ItemImage, length(ItemImage)); end; end.