動画検索とダウンロードがワンクリック! YouTubeとニコニコ動画に特化したツールバーをダウンロードして動画を楽しもう!!

はじめてのAndroidプログラミング

重い腰をあげて、やっとAndroidの開発環境をセットアップしました。
JDK、Eclipse、Android SDK、各種設定など、いろいろ面倒だと感じますねぇ。

Visual Studioのように一発インストールできるとすごく助かるんですけどね。

苦労した甲斐があって、エミュレーターだけいじっていても楽しい! 時間を忘れて遊んでいそうだw
目的はプログラミングなので、作ってみましたよ。初めてのAndroidアプリケーションを…とは言ってもお約束のHello!系で、何にも役には立ちません。

画像を表示させてみたくらいです。

やっぱりJavaはいいねぇ。というか、こんなの( [[[]]] )書かなくていいからね。お前は配列かぁ、ってか。

何か題材を決めて作ってみたいと思います。いつまで続くかはわかりませんけどねw
早く端末ほしいなぁ。一度裏切られているからなぁ…

スクリーンセーバー

以前作ったことがあるWindows用のスクリーンセーバーですが、ちょっと作ってみたくなったものがあったので、久しぶりにTryしてみることにしました。

が、進化したがために問題にも遭遇しちゃいます。メモとして残しておきます。

スクリーンセーバーを作るにはいろいろな方法がありますが、基本的な作り方はscrnsave.hをincludeして、システムにWinMainなどは面倒を見てもらって、ScreenSaverProcプロシージャで処理するのが簡単だと思います。

特に難しいことはないのですが…。そう簡単にはいかないわけです。

scrnsave.hをインクルードして、必要な関数を実装してコンパイルすると、以下のようなエラーが出ることがあります。なるほど、scrnsave.libをリンクしてないからだと…。

error LNK2019: 未解決の外部シンボル _DefScreenSaverProc@16 が関数 _ScreenSaverProcW@16 で参照されました。

scrnsave.libをリンクしても同じエラーが発生。あれ?ということで考えてみると、UNICODEコンパイルであることが影響していたわけです。UNICODEの場合は、scrnsavw.libをリンクする必要があります。

コンパイルも成功したので動作させてみると、ランタイムエラーが発生しました。これはWindows Vista SDKをインストールした影響だと思いますが、scrnsavw.libをリンクすると、Vistaで追加されたAPIを参照するようになっていて、その関数がないWindows XPではエラーが発生します。

仕方がないので、Visual Studio 6.0からscrnsavw.libをコピーして使うことにしました。

どのバージョンから問題が発生しているかわかりませんが、コンパイルして生成されるファイルをDependencyでチェックして、VistaにしかないAPIが静的リンクしていないかチェックした方がいいかと思います。

UNICODEもWindows Vistaも以前はなかった環境だったので、その影響を受けるとは予想できなかったです。

WTL8.1.9127

最近、食べ物、競馬、YouTubeの記事しか書いていないような…。何者か忘れられそうなので、少し前にリリースされたWTLについて書いてみます。

ここ最近は、ATL+WTLでしか開発していませんが、その理由が64ビット対応だったんですよね。MFCってどうなるのか全然見えてこなかったし、Class Wizardには未練がありましたが、Visual Studio 2003の頃に見切りを付けて、環境を移行したわけです。

ただ、WTLのバージョンアップが止まるのとは逆に、MFCがバージョンアップしたり、Visual C++ 2008 Feature PackではRibbonまでサポートされています。

好みはあると思いますが、どっちにもメリットがあって、悩むところです。生成されるコードにも違いがありますが、開発体制も気にしているところです。WTLがMSからオープンソースへ、MFCはMSが開発を続行ということで、この先WTLは新技術に対応していけるのか。Windows 7ではAPIにも大きな拡張が行われていますが、WTLでサポートされるかは不明ですね。APIレベルで記述すればいいわけですけど。

話をWTLに戻すと、個人的に嬉しいのは、VC++9.0(VisualStudio2008)用のAppWizardの追加とvsprintf_x()でwarning C4996が抑止されたことです。9.0用のAppWizardは.jsを変更すればできるし、警告メッセージ4996はソースを修正すればいいのでそんなに嬉しくなかったり…。

大きな変更は、DWM関連のクラスが追加されたことでしょうか。これでAeroも使いやすくなると思います。詳しくは下記ページをご参照ください。

http://sourceforge.net/projects/wtl/

ビール飲みながら調子に乗って、この記事を書いていますが、今何時よ?

4:18か。って、もう寝ないと…。

ポケットモンスター ブラック

Internet Explorer Plus

Miesque Internet Services

Windows Writer Plugin

   

Sleipnir Darksky Plugin

ブログランキング・にほんブログ村へ