スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

do {} while ( 0 )

最近、しばしば見かけるコードに

do
{
// 何らかの処理

} while ( 0 );


このコードの利便性が最初はさっぱりわかりませんでしたが、処理を途中で break したいときには、有効だなと気づきました。

do
{
 // 何らかの処理
 if ( 何らかの処理の結果 )
 {
  break;
 }
 // 更なる処理

} while ( 0 );


あぁ、なるほどね。




スポンサーサイト

Visual Studio 2008 のMFCはパワーアップしたか?(1)

以前,MFCのパワーアップについて書きました。

◇いつの間にかMFCがすごいことに。

Visual Studio 2005 ライクなドッキングウインドウや Office ライクな リボンUI が簡単に作成可能になるようですと、しかし、製品版にはデフォルトではそのような機能を使うことができませんでした。

Visual Studio 2008 RTMの MFC APP Wizard

VS2008MFC_Seihinban.jpg


Visual Studio 2008 VC++チームブログの MFC APP Wizard

wizard1_2.jpg


何か設定が必要なのでしょうか?
この機能は製品版でカットされてしまったのでしょうか?

Visual Studio 2008 がMSDNに登録されました。

Visual Studio 2008 がMSDNに普通に登録されました。

vs2008english.jpg


前回はちょっとトリッキーで私は引っかかってしまいましたが。

Visual Studioの「借金」を精算したMicrosoft

Visual Studio 2008 の開発は、一時中断しVisual Studio 2005のバグをきれいに取り除いてから、開発を再開したのだそうです。

ソマセガー氏によると、Microsoftは「Whidbey」のコードネームで呼ばれたVisual Studio 2005の開発で多くの「借金」を抱え込んでしまい、その状態で「Orcas」のコードネームで呼ばれるVisual Studio 2008の開発サイクルに入ったという。このためソマセガー氏は2005年11月に、すべての開発作業の中断を命じ、開発チームに対してテスト作業の遅れを取り戻し、バグを洗い出すよう指示した。


・・・そのバグフリーに近いVisual Studio 2005をしっかりだしてくださいな。
といいたいですね。
SP1でも直ってないバグがいっぱいあるんじゃないでしょうか?

◇itmediaの記事

Visual Studio 2008 が RTMに

ようやくVisual Studio 2008 がRTMにとのことですが、

◇Visual Studio 2008 がRTMに

日本のMSDNには登録されていないのか、私のIDではReadme しかみることができませんでした。

vs2008readme.jpg



とおもったら、

Visual Studio 2008 Professional Edition is currently available as a top download from the Subscriber Top Downloads section of the MSDN Subscription homepage. Please go to the MSDN Subscriptions home page and select the edition of Visual Studio 2008 that you would like to download. Note: The Top Downloads functionality may require that you disable your pop-up blocker software and install the download management control.

とのことで、別のページにジャンプしてダウンロードするのですね。失礼しました・・・。


Express Editionはこちらからダウンロードできるようです。



いつの間にかMFCがすごいことに。

◇Visual C++ Team Blogから

Office 2007 スタイル

Ribbon20Application.jpg


Visual Studio スタイル

VS200520Docking20(edit)_1.jpg

かなり使いやすそうに見えます。.NET Framework でこんなことをしようとすると有償のライブラリを使わないと大変です。

C# を使って Visual Source Safe を使うには

さて、VSSクライアントを作ってみる ですが、
そもそも、どうやって作っているのかというと、

◇Microsoft.VisualStudio.SourceSafe.Interop 名前空間


を使います。

マイクロソフトの資料はかなり日本語化されているので 困らないと思います。

例:データベースをオープンします
C# コード
 
m_VSSDatabase = new VSSDatabase();
try
{
  m_VSSDatabase.Open(_strPathSRCSAFE_INI + "srcsafe.ini", _strUser, _strPassword);
}
catch (Exception _e)
{
  MessageBox.Show(_e.Message);
  return -1;
}


例:プロジェクトの取得
C# コード
 
// ルートプロジェクトを取得
m_VSSRootProject = m_VSSDatabase.get_VSSItem("$/", false);



例:カレントデータベースを レジストリから取得します。Microsoft.VisualStudio.SourceSafe.Interopの機能ではありませんが
C# コード
 
RegistryKey keyDB = Registry.CurrentUser.OpenSubKey(@"SoftwareMicrosoftSourcesafe", false);
string strDatabase = (string)keyDB.GetValue("Current Database");
keyDB.Close();



.NET Framework 3.0には DoEvents() メソッドがない!

.NET Framework 上で、DirectX用のツールなどを作ろうとすると、フレームワークの規定のRun()メソッドではかなりつらいので、Run()メソッドをオーバーロードしてメインループの部分を自前で作成したいものです。


こういったことをするために必須と思われる DoEvents() メソッドが.NET Framework 3.0では、なぜか 削除されてしまっています。

代換え手段を調べるのに時間がかかってしまいました。

.NET Framework 2.0のDoEvents()を使ってもいいかもしれませんが、マイクロソフト推奨のやり方があるようです。

◇Dispatcher.PushFrame メソッド



C# コード



public void DoEvents()
{
DispatcherFrame frame = new DispatcherFrame();
Dispatcher.CurrentDispatcher.BeginInvoke(DispatcherPriority.Background,
new DispatcherOperationCallback(ExitFrame), frame);
Dispatcher.PushFrame(frame);
}


public object ExitFrames(object f)
{
((DispatcherFrame)f).Continue = false;

return null;
}





Microsoft,開発者向けツールのソースコードを公開

.NET Framework などのソースコードが制限付きですが公開になるようです。

◇Microsoft,開発者向けツールのソースコードを公開


「.NET Frameworkライブラリのソースコードは個別にダウンロードして導入でき,ローカル環境において好みのテキスト・エディタで閲覧できる」と書いた。「このソースコードは,『Visual Studio 2008』に搭載されたデバッグ機能でも利用できる」

・・・とのことです。

.NET Framework をディープに使う場合は、助かりますね。
デバッグがかなりラクになりますね。

Visual Studio 2008 が2007年11月中にリリース

Visual Studio 2008 が年内リリース確定です。
ただし、英語版。

日本語版もまもなくリリースされるでしょうから、楽しみですね。

◇Visual Studio 2008 と .NET Framework 3.5 の英語版を 11 月中にリリース



VSSクライアントを作ってみる

VSSに関しては、2005になっても全然UIが改善されていません。

そんなわけで、C#でスクラッチでVSSクライアントを書いています。




AVSSのコピー


ここまで実装してみました。

・アイテムをクリックした瞬間に履歴がみられる。
 履歴にはチェックインのコメントも表示

・ローカルとVSS上で相違のあるファイルがファイルが一目でわかる。

・比較を行うdiffソフトを選べる。

・ファイルウィンドウから、エディタなどにドラッグ&ドロップ

・ファイルを取得すると、ログに誰の変更かを表示。

・ファイルを取得すると、ログにチェックインのコメントを表示」

・ファイル取得のログを自動的に自分のアカウントにメールする。

・取得ファイルのバックアップを自動的に作成。

・がんがんマルチスレッド。ファイルの取得中にファイルの履歴表示などができる。

・MS純正 VSS.EXEの機能を8割程度実装。


・・・・といった感じです。
.NET FrameWork 2.0、かなりラクチンですね。

主要な機能は1ヶ月程度で作りましたけれど、
しかし、MS純正のVSSの機能を全部実装する前に飽きました。

かれこれ1年ほど書いてますが、自分が必要な機能を気まぐれで
実装していく感じでのんびり作ってます。

そのうち公開できる??
そのまえにもっと良いバージョン管理システムに乗り換えそうです。


エイリアンブレインが安くなってくれませんかねぇ。


VSSが遅い

VSSの反応が遅い。
チェックイン、チェックアウト、ファイルの履歴表示なにもか遅くて、しゃれにならない
遅い原因は、カスペルスキーであった。
NOD32に乗り換えて快適になりました。



プロフィール
Author:HiGEO



当ブログはリンクフリーです。

最近の記事
最近のコメント
月別アーカイブ
レノボ eクーポンなど
カテゴリ
スポンサー
RSSフィード
リンク
あわせて読みたい
あわせて読みたいブログパーツ
ブログ内検索
問い合わせ
管理人への問い合わせはこちら
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。