2011年10月31日月曜日

アクティビティの検証(1)

WF ではアクティビティの検証を行う方法が複数用意されています。単純に必須項目とするだけであれば、RequiredArgument 属性を利用する事だけで可能ですし、OverloadGroup 属性と組み合わせて必須項目グループを形成する事も可能です。

2011年10月27日木曜日

WF4 と WF4.5 における XAML 出力の違い

WF4 と WF4.5 では出力される xaml ファイルの中身がかなり異なっています。それに伴い、WF4 での一部問題も解決されています。

例えば Sequence アクティビティの中に WriteLine アクティビティを置いただけのワークフローにインポートの設定を行ったものを xaml に出力した場合、WF4 と WF4.5 ではこのように出力の違いがあります。まずは WF4 の場合です。

2011年10月25日火曜日

SourceLocationProvider.CollectMapping メソッドは WorkflowDesigner.Load(ファイル名) が必要

最近自作ツールのデザイナーをちまちまやっているのですが、その中で微妙な気持ちながらも未だに対応策が見えていない点が一つ。

ビジュアルデバッグトレースという感じに、ワークフローの実行状況をデザイナ上で表示するために色々やる必要があるのですが、その中に SourceLocationProvider.CollectMapping メソッドを用いてワークフローファイルの内容と実際のアクティビティの内容とをマッピングする必要があります。

2011年10月24日月曜日

VB6 でコンソールアプリを作る

今までずっとできないできないと思っていたところ、@rinta100 さんに教えてもらいました。まずはリンクを。

How to create a VB6 console program

詳しいことはリンク先を見てもらうとわかると思いますが、コンパイル時に明示的にライブラリのリンクを行う( LINK.exe /EDIT /SUBSYSTEM:CONSOLE ~)ことで、コンソールアプリを作成できるようです。

これは正直驚きました・・・!

2011年10月21日金曜日

アイコン等のリソースと IRegisterMetadata

前回の記事で、外部ライブラリを動的に読み込みそのリソースを登録する際に、IRegisterMetadata.Register メソッドを呼ぶ、というものを書きました。この方法は現時点で Microsoft としても推奨している方法です。アイコンやアクティビティデザイナ等、今までは属性を利用して設定していたのですが、この方法であれば別 Dll に分離することができるようになります。WPF ではよく見かける形ですが、WF においても同様の方法を用います。

なお、ここで言う IRegisterMetadata インターフェースは System.Activities.Presentation.Metadata 名前空間に属するもので、WPF で利用する Microsoft.Windows.Design.Metadata 名前空間に属する同一名称のインターフェースとは別になります。

2011年10月19日水曜日

外部ライブラリの動的読み込み(仮)

Visual Studio 上で行っている分には自動で参照設定を行った Dll からアクティビティをツールボックスに追加、リソースの読み込み等を行ってくれているので、特に心配する事はないのですが、リホスティングデザイナにてこれを行う場合、少し気を付ける必要があります。

2011年10月16日日曜日

CLR/H 第 63 回勉強会レポート

10/15 に行われた第 63 回勉強会のレポートです。今回は一部 Ust、Tweet 禁止な話題が含まれていたりということもあり、現場だからこその楽しさを感じられた回だと思います。

PA150533

2011年10月13日木曜日

10/15 第 63 回 CLR/H 勉強会で利用するスライド

第 63 回勉強会で利用するスライドをアップしておきます。当日までにもう少し追加・調整するかもしれませんが、とりあえずという事で。

今回は WF4.5 の新機能についてさらっと説明するショートセッションです。
時間の都合によっては懇親会中、アイスブレーク的にやるかもしれませんw