2009/4/2 木曜日

VS2005でメソッドやプロパティを追加するときに出るスクリプトエラー

カテゴリー: プログラミング — shige @ 23:55:54

VisualStudio2005の、ソリューションエクスプローラやクラスビューで右クリックして「メソッドの追加」や「プロパティの追加」を選択すると、何やらスクリプトエラーが出てウィザードがまともに動かないのは IE8 との組み合わせだからだそうです。

http://blogs.msdn.com/fmo_jp/archive/2009/04/02/visual-studio-2005-visual-studio-2008.aspx

対処方法は、HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\に「1000」という名前のキーを作成し、その中に「1207」という名前のDWORD値を「0」を設定して作成すればOK。

2008/10/23 木曜日

Visual Studio でのビルド番号更新

カテゴリー: プログラミング — shige @ 9:36:10

Visual Studio で開発するときに、ビルド番号を自動更新するためのスクリプトを作ってみました。

IncBuildNumber.vbs は最初にパラメータで指定された .rc ファイルのバックアップを作成します。(*.rc.bak)その後 .rc ファイルから文字列 FILEVERSION, PRODUCTVERSION, FileVersion, ProductVersion がある行を探し、その行に記載されているビルド番号を1増やします。

ビルド番号更新スクリプト(IncBuildNumber.vbs)
(ダウンロードしたら最初に右クリックのプロパティ画面から「ブロックの解除」を行って下さい)

このスクリプトをどこか適当な場所において、プロジェクトプロパティでReleaseのビルド前のイベントに以下の設定を行うと使用できます。以下の例では Visual Studio のインストールフォルダ $(VCInstallDir) に置いてあります。

CScript “$(VCInstallDir)IncBuildNumber.vbs” “$(ProjectDir)$(ProjectName).rc”

2008/6/11 水曜日

Visual C++ 2008 Feature Pack

カテゴリー: プログラミング — shige @ 21:35:06

最近MFCを使っていなかったので、Visual C++ 2008 Feature Packなんてものがあるのを知りませんでした。

Visual Studio 2008 はまだ買っていませんが、これでOffice2007風・Office2003風・VS2005風のUIが標準で簡単に作成できるのならちょっと欲しくなります。というか、こういうものがないからわざわざ WTL で色々なコントロールを探してきて作っていたのですが、その必要がなくなるわけですからね。

サンプル画面などは以下のページに。
http://msdn.microsoft.com/ja-jp/magazine/cc507634.aspx
http://codezine.jp/a/article/aid/2516.aspx?p=2

2008/6/7 土曜日

WTLでVS2005風メニュー

カテゴリー: プログラミング — shige @ 22:08:55

最近は C# で作ると最初から Office2003 風のメニューやツールバーになりますが、VC++/WTL だと Classic なメニューしかできません。ちょっと悔しいので Viksoe さんの WTL XP UI のメニューとツールバーだけをいじって VS2005 風にしてみました。

なんだか CustomDraw が思った通りに動かなくて、ちょっといい加減につくってあります。

ソースファイルのダウンロード

 

2008/6/5 木曜日

VS2005の構成プロパティ

カテゴリー: プログラミング — shige @ 22:21:35

VS2005でビルドするとき、「構成プロパティ」→「C/C++」→「コード生成」の「ランタイムライブラリ」を「マルチスレッドDLL(/MD)」から「マルチスレッド(/MT)」に変更しないと、VS2005が入っていない環境で動かないぞっと。自分のためにメモ。

2008/4/24 木曜日

DirectX プログラミング

カテゴリー: プログラミング — shige @ 19:08:06

例えば沢山のオブジェクトを描画したくて DrawPrimitive の頂点バッファを作るとき、その頂点バッファをどうやって作るのが正しいのかということについて。

[方法1]
DrawPrimitive で描画する単位で CreateVertexBuffer を使って頂点バッファを作成しておく。(配列とかリストにしておく)
それを順番に DrawPrimitive で描画していく。

[方法2]
一回だけ CreateVertexBuffer を使って全てのオブジェクトの頂点バッファを作成しておく。
それを StartVertex でオフセットを指定して DrawPrimitive で順番に描画していく。

最初は StartVertex を指定するのが面倒くさいと思って 1 の方法でコーディングしていたのですが、オブジェクトの数が何十万とかになってくると CreateVertexBuffer が E_OUTOFMEMORY を返すようになってきました。

で、2の方法に変更すると問題なく動くのでやっぱり正しいのは2なんでしょうね。

一人でプログラミングしていると、誰にも聞けないのでやたらと時間がかかるときがあります。最初は「E_OUTOFMEMORYというのなら幾つまでなら作れるのか?」という視点で調べて、全く情報がないことに途方にくれていました。そのうちに書き方が違うのではないかということに気付いたのですが、それでも「正しい書き方」についての情報も見つけることはできませんでした。きっと知っている人には低レベルの問題だったのでしょうけど。

2008/2/2 土曜日

ソフトウェアテスト

カテゴリー: プログラミング — shige @ 11:27:24

今の会社では以前からテストがいい加減で、ほぼプログラマがテストしただけでリリースしていました。そんな状態じゃダメだとボスには言っていたのですが長い間放置され、最近バグが多いと取引先にまで指摘されてやっと事の重大さに気付いたようです。

とりあえずバグ管理システムとしてtracをインストールしてみたのですが、うまく使いこなせるでしょうか……。

2007/5/7 月曜日

Vista対応

カテゴリー: プログラミング — shige @ 19:51:19

なんとか Vista 用のマシンを準備して、色々動作テストをしています。

Delphi 6 で作ったアプリケーションで、フォームに空の TImageList を貼り付けているものが動作しませんでした。フォームから TImageList を取り除き、フォームのコンストラクタで作成するようにすれば動くようです。TImageList の Width や Height が0のままでもダメですね。

その他文字の高さは DrawText などで取得しないと正しく描画できません。例えば12ポイントの文字を描画する際、今までは描画位置の計算に高さとしてそのまま「12」を使用しても問題ありませんでしたが、Vista では DrawText で実際に描画される高さを取得しないとうまくいきません。

古い開発環境を使っていると面倒臭いですね。

2006/12/5 火曜日

VS2005

カテゴリー: プログラミング — shige @ 10:22:34

一昨日から VS2005 を使い始めてみています。なんだか VS2003 に比べて不安定な感じがするのですが、みんなそうなんでしょうか。それとも VC++&WTL7.5という組み合わせが悪いのでしょうか。何度も何度も落ちるので使うのをやめたくなりますね。

ちなみに見た目の雰囲気は VS2003 の OfficeXP 風のフラットな感じのメニューの方が好きです。

もしかして買って損したのかも。

2006/7/13 木曜日

Virtual PC

カテゴリー: プログラミング — shige @ 10:51:13

フリーになりましたね、Microsoft Virtual PC 2004

いろいろな環境でテストする必要があるプログラマには有り難いソフトです。

次ページへ »

HTML convert time: 1.377 sec. Powered by WordPress