C# 別スレッドからのFormコントロール操作

下記のサイトで掲載されていたVB.NET用のコードをc#で書き換えてみたいと思います。ちょっとわからなかったので調べつつ、しかもちょっと手直ししていますけど。ミソはBeginInvokeでの引数の取り扱いの違いとdelegateによってイベント用のハンドラを実装しているところですかね。

【C#】別スレッドからのFormコントロール操作 ? Insider_NET ? @IT
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=25804&forum=7

// c# code
public class TestClass {

// 同期用オブジェクト
private System.ComponentModel.ISynchronizeInvoke _SynchronizingObject;

public System.ComponentModel.ISynchronizeInvoke SynchronizingObject
{
get { return _SynchronizingObject; }
set { _SynchronizingObject = value; }
}

// 完了イベント
public delegate void CompletedEventHandler(object sender, CompletedEventArgs e);
public event CompletedEventHandler Completed;

// 完了イベントを発生させる
protected void OnCompleted(CompletedEventArgs e)
{
// SynchronizingObjectが設定されていて、InvokeRequiredがTrueならInvoke
if ( this.Completed != null ) {
if ( (this.SynchronizingObject != null) &&
this.SynchronizingObject.InvokeRequired)
this.SynchronizingObject.BeginInvoke(Completed, new object[] {this, e});
else
Completed(this, e);
}
}

// ワーカスレッドで実行する処理
Private void HeavyProcess()
{
Threading.Thread.Sleep(3000);
OnCompleted(new CompletedEventArgs(“重い処理は完了しました。”));
}
}
public class CompletedEventArgs : EventArgs {

private String _message;

public string Message
{
get { return _message; }
}

internal CompletedEventArgs(string msg)
{
_message = msg;
System.Media.SystemSounds.Beep.Play();
}

}

Sandcastle が VS2010 で使えるようになった

まだ日本のサイトではどこもアナウンスしていなかったようなので一応お知らせまで。

SandcastleがVS2010(Visual Studio 2010)に暫定対応したようです。
Sandcastle-June 2010 Release (Version 2.6.1062.1)

Sandcastle-June 2010 Release (Version 2.6.1062.1)
sandcastle.codeplex.com/releases/view/47665

またGUIベースでsandcastleドキュメントの生成を行う「Sandcastle Help File Builder」も、この時期ちょくちょくアップグレードされています。
shfb.codeplex.com/releases/view/40105

それぞれ最新のパッチを当てることでVS2010でのXMLスキーマで使えるようになります。

C++/CLIでのXMLを、上記の構成でビルドしてみたところ、適切にCHMまで変換されています。
これでVS2010への開発移行が安心してできそうですね。

仕様書もたくさん書かなければならない昨今プログラマの人たちに朗報です。

C++ CLI アセンブリ署名

C++ CLI アセンブリ署名

とにかくめんどくせえ。メモ。

ルートCA(ex.Verisign& ETC)の署名は signcode で行え!
SNKによる厳密な名前による署名は sn.exe -k で行え!
ってことか。

秘密キーなんて紛らわしい用語を使用するからルートCAに含まれる何かなのかと思って一生懸命調べてしまったYO。
しかもPFXからSNKに無理矢理変換したりとかして、まったく意味ないじゃん。
>Unfortunately, a strong name does not provide a way to identify what entity created the assembly.

C++/CLI周りは、この辺のメンテがまったくされていないどころか、ドキュメントも適当すぎていらいらするよほんと。

googleせんせに訪ねてみて、一番参考になったところは、以下の2サイト。

・ Introduction to Code Access Security in the Microsoft _NET Framework
conferences.embarcadero.com/article/32226

・ お仕事日記 - なんちゃってプログラマーのメモ – 厳密名コンパイル
prometa.seesaa.net/article/108816339.html

「ググレカスと言うがググって分かる問題ならお前に尋ねる前にググってるよGoogle以上にお前を信頼してんだよ言わせんな恥ずかしい」というフレーズ

「ググレカスと言うがググって分かる問題ならお前に尋ねる前にググってるよGoogle以上にお前を信頼してんだよ言わせんな恥ずかしい」というフレーズ

・「ググレカスと言うがググって分かる問題ならお前に尋ねる前にググってるよGoogle以上にお前を信頼してんだよ言わせんな恥ずかしい」というフレーズが流行っているらしい 【▲→川俣晶の縁側→辛口甘口雑記】
http://mag.autumn.org/Content.modf?id=20100705101308 からの引用。

> ?ネットの限界を超えようとしている。限界に実際に遭遇しているからである
> ?ネットには限界は存在しないと思っているが証明したことはない
>  つまり、一種のネット完全性幻想です。

知識のある人間に聞け! or 知識のあるgoogleせんせに聞け!
ってところじゃないの。

内容や分野によってはgoogleせんせはとても取り散らかった情報しか持ち合わせていないことがあって、その場合はとっちらかった資源を自分で整理して、今必要としている情報を整理する必要が生じる。一方、内容や分野によっては知識のある人間は、それを系統的に整理して記憶ベースで以ていたり、知識の提供の仕方のテクニックを持っていたりもする。googleせんせは知識をどのように情報として提供するかについてまでは、現状は、情報探索者の固有の識別によってフレキシブルに提供してくれていない。まあ僕自身がそのような機能を知らないだけなのかもしれないけれど、機能があることに対して知らないということ事態がオブジェクトとしては抽象化されていて実態をつかみにくいということになる。まあ、機能面の検索エンジンの課題は知識のある人間でも同じことじゃないかとも思えるけど。いずれにせよ「ググレカスと言うがググって分かる問題ならお前に尋ねる前にググってるよGoogle以上にお前を信頼してんだよ言わせんな恥ずかしい」は的を得ていて素敵だ。

消費税増税はやむを得ないとしても・・・

消費税増税はやむを得ないとしても・・・。
その前にもっと削らなければならないところがあるでしょう。
事業仕分けで独法を切り倒してきたのはとてもよいけれど、
どうしても身内に甘くなっているように思う。
仕方ないじゃないかと反論されればそれまでなんだけれど、
国民に対して消費税という形で負担を強いる前に、
まずは政治家自身の政治資金の分配の見直し、
国家公務員の給与の見直し、人員削減、
これらをもっと全面に出して、参議院で戦えば、
民主党に対して圧倒的な信頼ができるんだけど。

また消費税を増税するのは、基本的に反対ではないけれど、
10%のみが一人歩きしていてなんのための10%なのかがまったく見えなくなってる。
今は5%の消費税。5%から10%に増税されることで、
国はどのようになるのか、国民の生活はどう変化するのだろうか、
そして日本の未来はどのように豊かでいられるのだろうか。

5%から、なぜ10%なのだろうか?
5%から7%、7%から10%のように、
段階的なステップは踏めないのだろうか。