月別アーカイブ: 2009年9月

Visual Studio 2010 Beta 02

Visual Studio 2010 はたしかに WPF で作り替えされているようだ。
これやれば一発で解る

ぱぇぽぃ2 ? Blog Archive ? Spy++ で WPF

とりあえず VC++ がどうなったか、Win32 プロジェクトを新規作成してみる。
新規プロジェクトに Win64 は無いか、なんだかなぁ。

stdafx.h や生成されるコードは 2008 と何も変わらない。
だけど targetver.h が異様にシンプルに、ベータだからだと思うけど。

targetver

0x601 じゃ Windows 7 専用を作ってしまう可能性が、そりゃマズイだろう。

ソリューション エクスプローラーに External Dependencies なんつーものが。
開くと windows.h 等で #include されているヘッダーがズラリ。
標準ヘッダーを参照したい時に便利、初心者が見たら数にビビルだろうな。

sol_exp

IntelliSense なんだが…

messagebox

MessageBox とかのマクロは無くなっちゃったの?
ちなみに下は Visual Studio 2008

messagebox2008

でも MessageBox と打ち込めば IntelliSense は効く。

intelli_sense

当然 TCHAR や _tcscpy_s なんかも補完はしてくれない、まだ作りが甘いようだ。
プロジェクトのプロパティウインドウは英語のまま、あまり重要視されていない感じ。

というか WPF 化されたというのに 2008 を再現することばかり行われているような。
リソースエディタも特に変化無し、ここだけでも進化してほしかったのだが。

相変わらず C++/CLI では WPF は使えない。
WindowsForm なんていいかげんにサポートするのを終わってくれよ、MFC も。

どうでもいいが Ctrl+I でのインクリメンタルサーチ時にマウスカーソルがかっちょいい。
ここだけは WPF 化の恩恵…関係無いか。

やはり VC++ については 2008 で十分というかもう進化することは特に無いのだろう。

Visual Studio 2010 Beta 01

ところで何故 Visual Studio 2010 ベータをインストールかというと
私は WPF 製アプリを自分で作った SeeMe 以外に見たことがないからである。

SeeMe はエフェクト等を完全無視している。
しかしやっと Windows にやってきたレイアウタによるコンテンツ優先の配置。
ListView と ObservableCollection によるバインディング。
を行っているが他のアプリはどうなんだろうと。
(Visual Studio 2010 の UI は WPF)

とにかく昨日のリンク先から iso をダウンロード。

VS2010Beta1JPN_VSTS_2PartsTotal.part1.exe
VS2010Beta1JPN_VSTS_2PartsTotal.part2.rar

の2つをダウンロードして exe を実行。
てか rar で圧縮分割なの?独占禁止法対策なのかな。

WinRAR は何も言わないが Vista は正しくインストールされなかった可能性がどうたらと。
もちろん何も問題無い iso ができあがった、Vista さん、このメッセージおかしいだろ…

DVD-R に焼いて普通にインストール。

vs2010_1

まあ普通だ、次へをクリック。

vs2010_2

何かイッパイインストールされるけど毎度のことだ、次へ。

vs2010_3

当然フルサポートしてくれよ、ということで両方にチェックして開始。
この後インストールさせるものがズラッと表示されるけどそれはお楽しみで。

.NET Framework 4 Beta をインストールした後に一端再起動を促される。
んで一時間以上掛かってインストール完了、相変わらず長すぎる…

とにかく起動。
やはり初回起動は恐ろしく遅い、Vista なので後で勝手に早くなるからいいけど。

スタートページで目に付くのはアイコンがマウスオーバーで大きくなることくらい。
もうちょっとエフェクトを付けてもいいんでないの?という感じ。
ニュースの取得を勝手に行わず選択できるようになったのは嬉しいかな。

んで新規プロジェクトを作って最初に気になること。
WPF なので標準フォントの MS ゴシックが太字になる…

DATA.Blog – WPFと日本語フォント

ClearType フォントに変更する以外に手は無いみたい。
HGゴシックM というのが ClearType なのでいいかも、9pt だとイマイチだから 10pt に。
検索したら MS Office 付属フォントらしい、MS Office をインストールしていないんだが…
Excel Viewer だろうか?一太郎だろうか?それとも Visual Studio かな?

でも私は VL ゴシック(Ubuntu Fedora のデフォルトフォント)をあえて使う。
9pt で下画像のようになりますので参考に。

vl_font

そういえば Visual Studio 2008 はどうなった?

vs2010_4

Visual Studio が3つになった…
2008 はレイアウトがリセットされるけど普通に使えるみたい。
画像は(1680×1050)なので注意。

vs2010_2008

細かい使い勝手は次回。

MonoDevelop と Visual Studio

MonoDevelop Python ? dronelabs

あれ、MonoDevelop で Python 開発ができるの?
IronPython とは書いていないどころか PyGtk や Django がテンプレートにある。
Gtk# 製 IDE 上で PyGtk の開発かよ、何か笑える。

生き残るために必死なのだろうか?迷走したかつてのボーリャンドのように。
というのは勝手な妄想だが、まあ気が向いたら。
実際 Ubuntu というか Linux ではもう C# をやるつもりは無い。

それより次期 Visual Studio のほうが気になる。

Visual Studio Editor Blog : Visual Studio 2010 UI Unveiled

こちらの画像を見ると WPF デザイナ表示時にコードが表示できるようになったらしい。
それは嬉しいんだけどエディタ部が狭くなってしまう…使ってみなきゃなんともいえん。
他は WPF 化したわりに変化が見た目だけのような、まだ使っていないけど。

Microsoft Visual Studio 2010 – 将来のバージョン

誰でも使えるようだしせっかくなので beta を落としてみます。
インストールしたら Visual Studio 2008 は残るのだろうか?影響は???
まあそろそろ Vista 自体の再インストールで HDD を綺麗にしたいしイイかなと。

.NET アプリでバージョン情報の統一

SeeMe for Windows のバージョン情報が滅茶苦茶なのでなんとかせねば。

まず Explorer から本体のプロパティ。

explorer_prop

これは Visual Studio でプロジェクトのプロパティから「アセンブリ情報(I)…」ボタンを押して

assy_prop

で変更するんだがよく忘れるんだコレが。
最近は公開直後に即バージョンをインクリメントという対策をしているんだけど…
Visual Studio というより Windows が久々なので忘れていたわい。

ぱぇぽぃ2 ? Blog Archive ? SeeMe for Windows v4.0.1

のとおりダイアログのバージョンを書き換えるのを忘れていたし。
というか毎回ダイアログ文字列を変更ではおかしいので本体からバージョンを取得したい。

デルヒャァで作っていた頃はやっていたんですけどね。

procedure TAboutDlg1.FormShow(Sender: TObject);
var
  BuffSize, Ignore: Cardinal;
  P: Pointer;
  FileDescription: PChar;
begin
  BuffSize := GetFileVersionInfoSize(PChar(Application.ExeName), Ignore);
  P := AllocMem(BuffSize);
  GetFileVersionInfo(PChar(Application.ExeName), Ignore, BuffSize, P);

  VerQueryValue(P, PChar('\StringFileInfo\041103A4\FileVersion'),
                Pointer(FileDescription), Ignore);
  Label1.Caption := 'Y901 v' + FileDescription;

  FreeMem(P);
end;

こんな感じで、我ながら Object Pascal が懐かしい…
これを .NET Framework で同じようにするには

自分自身のバージョン情報を取得する: .NET Tips: C#, VB.NET, Visual Studio

やはり Windows で C# なら日本語でアッサリ見つかるなぁ…
日本語で GTK+ だと UNIX 臭さ全開かサル以前かの両極端しか無いのだが。

var version = System.Diagnostics.FileVersionInfo.GetVersionInfo(
    System.Reflection.Assembly.GetExecutingAssembly().Location);
v[0].Inlines.Add(new Bold(new Run("SeeMe for Windows " + version.FileVersion + "\n")));

と前回のコードを書き換えればオケのようで。
これであらかじめ本体のバージョン情報を更新しておけば追従してくれる。

cpanel_prop

インストーラのバージョンと本体のバージョンが合わない。
そう思って Version プロパティを弄くったら複数インストール可能になって困ったし。
それとアップデート毎に前バージョンの削除をさせるのも考え物だ。
実は前バージョンを削除してインストールする方法が解らなかっただけなんだが。

セットアッププロジェクトにて前のバージョンを削除してから新バージョンをインストールする(VisualStudio, Setup, msi) – いろいろ備忘録日記

うっ!それだけだったのかというか Version プロパティってそういうことか。
リンク先が無くなってしまったら困るので簡易で覚え書き。

セットアッププロジェクトのプロパティ
DetectNewerInstalledVersion = true
RemovePreviousVersion = true
Version をインクリメントすると ProductCode 変更ダイアログが出るので「はい」

を試してみたらアッサリと、プロジェクトのプロパティだけでイケたのね。
これでインストーラのバージョンと実行ファイルのバージョンを合わせることができた。

それと ToolBarTray を IsLocked=”True” にして動くように見えていたのをなんとかして。
ToolBar OverflowMode=”Never” にしてもオーバーフローボタンは消せないのね…
正直 WPF を使うには Visual Studio でないと厳しいと感じてきた。
そうそう、インストーラの名前に beta の意味な b が入っているのを消さなきゃ。

ということで修正のみだけど SeeMe for Windows v4.0.2 公開。

おまけ

2009-08-19 – 当面C#と.NETな記録 Visual Studio で一行だけコピーや削除するときには行を選択しなくてもよかった件について

マジだぁ!
トリプルクリックで一行選択してくれないけど、秀丸も EmEditor も Gedit さえもできるのに。
Visual Studio はトリプルクリックする必要すら無かった。

てゆーか空白やインデントがおかしいコードも貼り付けで勝手に整形してくれるぞ!

url.Click +=new RoutedEventHandler(url_Click);
// をコピーして貼り付けると同じソースコード中でも下のように
url.Click += new RoutedEventHandler(url_Click);

へたに手書きするよりコピペのほうが綺麗なコードになるとはね。

Ubuntu Templates Directry

Nautilus のメニューにあるテンプレート。

ぱぇぽぃ2 ? Blog Archive ? テンプレートとスクリプト

は何を今更知ったが標準ディレクトリの「雛形」を読み出すらしい。
って私はそのディレクトリは削除しているんですけど、日本語名なのが気に入らなくて。
しかしあったほうが便利っぽいので使ってみようと思う。

Ubuntu日本語フォーラム / “Templates” の訳語「雛形」の採用理由について

検索すればアルファベット化方法も即見つかるけどディレクトリ名に大文字を付けたくない。
Python をやって推奨の「型名や定数以外では小文字」という掟を守った結果そんな人になった。
というか /home/sasakima-nao/Templates って一つだけ大文字でおかしいだろ…

何よりそんなに開くディレクトリでもないのに home にあってもしょうがない。
だから消しているんだがテンプレートを使いたいなら作るしかない。

それならば隠しディレクトリにしてしまえばいい!
ということでやってみた。

まず「システム→設定→自動起動するアプリ」をメニューから選択。
「ユーザー・フォルダの更新」のチェックボックスを外しておく。
これが有効だとログイン毎に自動生成されるらしい。

auto_exec

んで Nautilus から ~/.config/user-dirs.dirs を Gedit なんかで開く。
XDG_TEMPLATES_DIR に自分で用意した隠しディレクトリを書き込む。
画像を見ると解るけど「デスクトップ」だけはそのまま使っている私、なんか慣れたし。

dirs

んでそのディレクトリにテンプレートを自分で突っ込む。
後はログアウト、ログインで見事 Nautilus でのテンプレートが有効に。

new_file

これでテンプレートが使えてかつディレクトリは普段表示されない環境のできあがり。
Windows はもっと酷いけどあまり開かない標準ディレクトリって表示してほしくないよね。

ついでに。
このディレクトリを開くには Nautilus メニューの「移動(G)」から一発です。