DataGridのバインディングの巻(その1)

DataGridに、WebServiceで取得したオブジェクトをバインディングしてみる

procedure TWinForm.Button3_Click(sender: System.Object; e: System.EventArgs);
var
  bookshelf_ :BookshelfImplService;
begin
  bookshelf_ :=BookshelfImplService.Create;
  DataGrid1.DataSource :=  bookshelf_.getBooks;
  bookshelf_.Free;

end;

DataGrid1のDataSourceに、bookshelf_サービスのメソッドで取得したリストをセットしてみる。実行すると、グリッドにレコード数分の行が表示されたが・・・
列がない。どうやら、属性を認識していないようだ。もしかしたら、web参照で自動でできるpasファイルって、半端に使えないモジュールなのかもしれない。DataGrid#DataSourceのhelpを確認してみよう。

DataGrid をオブジェクトの厳密に型指定された配列にバインドするには、オブジェクトにパブリック プロパティが含まれている必要があります。

ヘルプによるとこんな感じっていうじゃなーい。
でも、Web参照でDelphiによって生成されるpasのclassは〜っ!!、単に属性がpublicになってるだけですから残念!!!!
うねっ、もう一個、class作れってか。
ちなみに、上記記述要領はhttp://d.hatena.ne.jp/koichik/20050106#1105028592 を参照してください。一応、上級を目指してます。