2011年8月13日土曜日

C++/CLIの型変換

列挙型のキャスト
static_cast<type-id>(expression) 演算子を使います。
enum TestEnum{
    A, B
};

int main(array<System::String^> ^args){

    int n = static_cast<int>(A);
    return 0;

}


2011年8月6日土曜日

JavaとC#の違い

JavaとC#の違いをまとめてみました。JavaプログラマーがC#でつまずくところ、Javaではこう書くんだけどってヤツですね。随時、追記する予定です。

型の比較(キャスト可能性)
Java
<変数名> instanceof <型名>
C#
<変数名> is <型名>

型オブジェクトの取得①
Java
<クラス名>.class
C#
typeof(<クラス名>);

2011年8月5日金曜日

Windows 7のブルースクリーン

確定情報ではありませんが、Windows 7 64bit版(32bit版は不明)の不具合により、ネットワーク経由で大きいファイルをコピーしているとブルースクーリーンになる場合があるようです。最近、ネットワーク経由で大きいファイルをコピーする作業をよく行っているのですが、コピー中、目を離している隙にブルースクリーンになっていて、非常に困っていました。ネットで検索してみると同じような体験をされている方がいらっしゃるようで、省電力モードに移行する際に落ちているとのことです。わたしの環境でも、しばらくPCから手を離しているときにかぎって発生しているので、同じ原因なのではないかと思います。
改善策は、電源設定でHDDとモニターの電源が切れないように設定するしかないようです。一応、この設定にしてから丸一日くらい、同現象は発生していません。
※HDDの電源だけ切れないように設定してもダメなようです。

2011年8月4日木曜日

C#の最大化、最小化イベント

.NETフレームワークでウィンドウ状態(最大化や最小化)は、WindowStateプロパティに保持されるのですが、WindowStateプロパティが変更されたことを通知する専用のイベントは存在しないようです。実行時にフォームを最大化又は最小化するとResizeイベントが発生するようなので、かわりにResizeイベントでWindowStateプロパティを参照して処理すれば良さそうです。

2011年8月3日水曜日

DCにサービスプリンシパルを登録する方法

環境によって、DC(ドメインコントローラ)上に、下記のプログラムをインストールする必要があります。
・Windows 2000 Server
  Windows 2000 リソース キット(Microsoft からダウンロード)
  サポートツール(CD又はMicrosoft からダウンロード)
・Windows Server 2003
   サポートツール(CD又はMicrosoft からダウンロード)
・Windows Server 2008
  不明

ここからの作業は、全てDC上で行います。