スポンサード リンク

T.Ishii's Software Library

HTML5 レトロ風ゲーム館

無料ブログはココログ

« また、ブログは一週間休む | トップページ | 音声再生は出来た »

もう一週間はかかりそうだが

今は、Mirror-DTCクライアントのOSX用ネイティブ版の開発中で、一週間程度はコーディングばかりする事になりそうだった事もあり、一週間ブログは休んでいたのだが、完成までには、もう一週間はかかりそうだ。ただし、現時点で、既に、サーバーに接続は出来ている。

Mirror-DTCクライアントを立ち上げると、とりあえず、UDP接続用のダイアログが表示され、そのダイアログでは、ローカルネットワークサーバー上にあるサーバーがリストアップされる。

で、現時点で、上記のダイアログは動作していて、リストにあるサーバーを選択すると、そのサーバーに対して接続シーケンスも行われ、接続は確立できている。

しかし、まだ、接続後に表示される画面は表示されていないし、音声も出力されていない。

なので、完成までには、もう一週間くらいは軽くかかりそうではあるのだが、上記を実現するためには、結構な処理ルーチンが動作している訳だ。

具体的には、Socket関係の処理ルーチンは動作しているし、それらを処理するために必要になるマルチスレッド関連の処理ルーチンも動作している。

当然の事ながら、ダイアログなんかはCocoaフレームワークを使ってObjective-Cで記述しているのだが、Mirror-DTCには上記のダイアログ以外にも、色々とダイアログがあって、それらについても、とりあえず、先に形だけは作成済みだ。

そして、接続終了後に表示されるメインウインドウ用のメニューも作成できていて、まだ、正式には機能しないのだが、メニュー項目のチェック表示だとかについては、動作する格好にしてある。

と、いう事なので、UI関連のCocoaフレームワークには慣れてきているのだが、Mirror-DTCのメイン処理はWindows版のC++ファイルをコピーしてきて、手直ししながら使っている。

ちなみに、Xcodeでは、ファイルの拡張子によってObjective-CとObjective-C++とC++が判断され、同じプロジェクトにファイルが混在していても、何の指定も必要なく、ビルドしてくれる。

なので、JNIを使ってC++ルーチンを呼び出す必要があるJavaよりは、C++コードとの混在使用は楽ではあるのだが、C++クラスからはObjective-Cのメソッドは呼び出せない。

で、メイン処理はC++で書かれていて、ダイアログ表示なんかも行うのだが、C++ルーチンからでは、UIを記述しているObjectibe-Cのメソッドは呼び出せない訳だ。

このため、作者的には、随所で、Objective-C++でラッパーを作成する必要があるので、コーディングはそれほど楽でもないのだが、Objective-C++では、C++のクラスを普通に作成して使用する事も出来る。

なので、Objective-C++でメイン処理を記述し、C++オブジェクトをサブルーチン代わりに使う様な使い方なら、OSX用アプリでも、C++クラスは楽に使えるかもしれない。

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

Mirror-DTC

Mirror-DTC

(2015/02/15追加)

« また、ブログは一週間休む | トップページ | 音声再生は出来た »

トラックバック

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

この記事へのトラックバック一覧です: もう一週間はかかりそうだが:

« また、ブログは一週間休む | トップページ | 音声再生は出来た »

2017年9月
          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