スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« 大阪は雨だったので | トップページ | 構造体のサイズも変わる »

本体の変更を開始

予告していた様に、今日から、AmuseGraphics本体のバージョンアップ開発を開始したのだが、AmuseGraphics本体は、このブログと同じ歴史がある訳なので、現行版のバージョン情報ダイアログにはCopyright (C) 2009-2013とある。つまり、かなり古いコードが残っている。

と、いう事なので、AmuseGraphics本体についても、今回の開発で、コードを少し新しくしようと考えているのだが、それ以前の問題として、現行版では、内部で使用している文字セットがUNICODEになっていない、というのがある。

Windowsの場合、初代のWindowsNTで、既にAPIはUNICODE対応になっていたのだが、Windows9x系のAPIは、UNICODE対応にはなっていなかった。

このため、コンシューマ向けのWindowsソフトの場合、Windows9x系が使われる可能性があった頃までは、文字セットとしてUNICODEを使う訳にはいかなかった。

もっとも、初版のAmuseGraphicsをリリースしたのは2009年になるので、この頃には、Windows9x系の事は鑑みる必要は無かったし、そもそも、初版のAmuseGraphicsのサポート対象OSはNTカーネルが使われているWindowsXP以降にしていた訳だ。

なので、別段、AmuseGraphicsの内部文字セットとしてUNICODEを使えない理由は無かったのだが、作者の場合、CP/M80の頃から、プログラミングをやってきた訳なので、例えアルファベットでも、文字コードが2バイトになるUNICODE文字セットというのには抵抗があった訳だ。

実際、WindowsNTよりも新しいOS XやAndroidやHTML5環境では、文字コードにはUNICODEではなく、アルファベットが1バイトで表現できるUTF-8が使われている。

と、いう事で、作者的には、MasterReversiとAmuseGraphics本体については、文字セットとしてアルファベットは1バイト、漢字はShiftJISの2バイトで表現できる、大昔からある文字セットである所のマルチバイト文字セットを使っていた訳だ。

もっとも、AG-デスクトップレコーダー等のAmuseGraphicsの同梱ソフトの文字セットは最初からUNICODEにしてあった。

これは何故なのか、というと、少なくともDirectShow関連のAPIでは、UNICODEを使わないといけないモノが多々あったからだ。

と、いう事で、このブログの最初の頃に書いた様に、プロジェクト名がBmpViewerになっているAmuseGraphics本体については、開発を始めた当初は、別段、DirectShowを使うつもりも無かったので、マルチバイト文字セットで開発を始めた訳だ。

しかし、現行版のAmuseGraphicsでは、DirectShowを使っている訳なので、内部でマルチバイト文字セットからUNICODEに変換している処理が多々ある。

そして、その逆変換も色々とやっているのだが、より作者的に問題となっているのは、AGM形式動画用のクラスについても、AmuseGraphics本体以外ではUNICODEが使われているので、全く同じライブラリソースが使えない状況になっている、という事だ。

なので、作者的には、今回の開発で、AmuseGraphics本体の文字セットはUNICODEに変更しようと思っていたのだが、今日、VisualStudio 2013で現行版のプロジェクトをビルドしようとしてみた所、追加で何かをインストールしない限り、UNICODEに設定し直さないとビルドしてくれないという事が判った。

上記の通りなので、作者的には、別段、腹も立てずに文字セットはUNICODEに変更したのだが、判っている人は判っている筈なのだが、そのお蔭で、ビルドエラーが山の様に発生した。

このため、今日の所は、エラーになった箇所を大体は機械的に変更してビルドエラーが発生しない所までは持ってきた。

と、いう事で、本番は明日からになるのだが、前述の様に、今回の開発では、古いコードを見直す予定なので、今週一杯くらいは、現行版の機能そのままの状態で、コードだけ色々と弄る格好になる筈だ。

= この記事に関連する公開中ソフト =

AmuseGraphics

AmuseGraphics

(2016/05/04追加)

« 大阪は雨だったので | トップページ | 構造体のサイズも変わる »

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/534482/62745552

この記事へのトラックバック一覧です: 本体の変更を開始:

« 大阪は雨だったので | トップページ | 構造体のサイズも変わる »

2017年6月
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  

広告

プライバシーポリシー

  • 当サイトでは、第三者配信による広告(Google Adsense)サービスを利用しています。

    Google を含む第三者配信事業者は、Cookie を使用して、ユーザーのウェブサイトでの閲覧履歴に基づく広告を配信します。 Google 広告 Cookie を使用することにより、Google や Google のパートナーは当サイトや他のサイトへのアクセス情報に基づく広告をユーザーに表示できます。

    Cookieを無効にする設定およびAdsenseに関する詳細については、以下のリンクを参照下さい。

    広告 - ポリシーと規約 - Google