掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Datasnapでビットマップを渡すには? (ID:44780)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
Datasnapでデータセット以外にも渡せる様なので Bitmapを渡せないものかと試してみましたが 単純にサーバーメソッドの返り値の型をTBitmapにすると 「この操作をサポートするために十分な RTTI がありません」という エラーになりました。 取り敢えずは返り値をstring型にして、一旦メモリストリームに読み込んだ ビットマップデータを16進表記の文字列にして返すようにしましたが もっと単純な方法はないものでしょうか。 下記の例ではImageListに入っている5つのビットマップから 指定したものを返すようにしています。 function TServerMethods1.GetGameImage(Index: integer): string; var bmp: TBitmap; ms: TMemoryStream; i: integer; b: Byte; begin if Index in [1..5] then begin bmp := TBitmap.Create; ms := TMemoryStream.Create; try ImageList1.GetBitmap(Index-1, bmp); bmp.SaveToStream(ms); ms.Position := 0; Result := ''; for i := 0 to ms.Size-1 do begin ms.Read(b, 1); Result := Result + IntToHex(b,2); end; finally ms.Free; bmp.Free; end; end else Result := ''; end; 環境はDelphi XE3,WindowsXPです。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.