作品情報

ID#450

なごみコネクト

一般プログラム
作者: 衣日和


(ダウンロードの注意)

更新日:2013-11-20
バージョン:1.14_P3 (完成度100%)

ユーザーの評価 (9)

プログラム技術3
完成度2
アイデア4

なごみコネクトは、複数のアプリケーションで変数の内容(データ)を共有するためのモジュールです。
WindowsAPIが提供する共有メモリを使用することで、実ファイル出力を伴わないスマートな共有が可能です。

アプリの集う広場のようなものを構築し、目的のアプリを見つける場所を提供します。
送り手は、自由なタイミングでデータを送信したり要求したりできます。
受け手は、割り込みによる処理になるので待つだけです。
データは、数値や文字列やバイナリデータ等に対応しています。

サポートアプリと連携したブレークポイント風デバッグ機構を設けました。
int/double/str型の変数に対して、多次元配列の全要素について内容の確認と書き換えができます!

このパッケージには、HSP用簡単モジュール、モジュールガイド、複数のサンプル、サポートアプリ、仕様設計書が含まれています。
モジュールは単体で動作可能です、またHDL(F1ヘルプ)対応表記を内包していますのでHSP本体パッケージのcommonフォルダに置くだけでヘルプを読むことができます。
サンプルはパッケージを展開しただけの状態で実行できるようにしてあります。

タグ:contest2013
動作環境:Win7にて動作確認
プラグイン/モジュール:Windows標準のDLL
ライセンス:【拡散希望】フリーウェア
作成開始:2013年4月
募集項目:
説明書: hspcontest450.txt

作品へのコメント(コンテスト以前のログ)

最新のコメントはこちら

No.8 [衣日和]さんが作品にコメントしました - 2013/11/11 03:09:46

    > 魔女オイラ さん

    コメント&評価ありがとうございます!とっても励みになっています。

    そうですね!もともと、見ず知らずなハズのアプリがパソコン上で会話を始めたりしたら面白そうだなと思ったのがキッカケで製作を始めました。
    だから多くのアプリに組み込まれたいと思ってモジュールにしたりライセンス項で強調してたりしています(笑)。そのための設計も組んではいるけれど…現状ではただのカオス要因になってますよね。

    そんなわけで応用の前にいろいろ建て直すべきところもある訳だけど、いずれはもっと面白いことができるようにしていきたいと思っています。

    それから昨年しょっぱくも全力だった作品がモブにならずに済んだのも魔女オイラさんのおかげでした。本当にありがとうございます。すごくすごく感謝しています!

No.7 [魔女オイラ]さんが作品を評価しました( 技術 アイデア ) - 2013/11/10 21:42:55

    このアプリを応用して、手軽なチャットなんか作れたら面白いですね。技術の高さを感じました。

No.6 [衣日和]さんが作品にコメントしました - 2013/11/07 00:47:50

    > zzz さん

    コメント&評価ありがとうございます!心に染み入ります!

    そうなんですよね、プロセス間通信は管理に手続きにメモリ容量にタイミングに安全性にと何かと大変で…誰よりもなんて言えなくても、時間と試行錯誤と挫折の塊みたいなモノですからそのように言っていただけて本当にうれしいです。作ってよかった。
    あと言われて気付きました、タイトルとサムネイル見るとなにこれ状態、紹介文読むとさらに混乱しますね(笑)。少女は、まあ最初は外部からの操作を受けて反応するだけのサンプルのハズ(この時すでにサンプルにしては不要な部分は多かった…)でしたが、途中でデバッグ機能付けるときに受信機として都合がよかったので結果コードが肥大化して複雑になってしまいました。

    そして、やっぱり上級者向けになってしまっていること申し訳ないです。htmlはオマケみたいなものでHSPでモジュールを使う分にはまったく見る必要のないファイルなのです。これに関しては先に頂いた有り難いご意見を参考に、現在HSP用モジュールのマニュアル整備とサンプルの製作を行っています。

    なごみコネクトがお役に立てること大変光栄です。ありがとうございます。

No.5 [zzz]さんが作品を評価しました( 技術 完成度 アイデア ) - 2013/11/06 21:24:57

     最初見たときは一体何をするものかまったくよく分からなかったんですが、exeを起動し、htmlを見てみると、プロセス間通信じゃないですか!少女としゃべるアプリなのかと一瞬思った私を許してください。
     私はCを少々嗜んでいますので、htmlに書かれている関数群も見たことがあり、これを見てやっていることが分かったのですが、すごいプログラム技術です。実は私もプロセス間通信を行うようなソースを組んだことがあったのですが、その面倒くささたるもの、非常に頭が痛くなりました。並列処理はとにかく難しいです。スレッドを操るのも面倒くさいですが、プロセスが複数あると、とにかくデバッグが面倒だった覚えがあります。私のような日曜プログラマーではもう死にそうになります。
     非常に便利なもので大変重宝するものだと思いました。

No.4 [衣日和]さんが作品にコメントしました - 2013/11/06 02:12:22

    > も さん

    コメント&評価ありがとうございます!嬉しいです。いただいたご意見は次への糧になります。

    メモリ共有と謳いながらその実、任意のタイミングでデータを送信するだけのちょうど(一方的な)手紙に例えています。手紙の内容は互いの約束事になってしまいますが、送りあえば対話も可能ですし外部計算機のような使い方もできます。

    ご意見ごもっともで、現在サンプルフォルダに入っているのは関連アプリのソースコードだけです。小さ目のサンプルはモジュール内の70行目あたりから、多重起動の検出やデータのやり取りをするものが書いてあるのですが、これはモジュールをcommonに入れてF1ヘルプで見ることを前提にしたものでした。取り掛かりにそんな面倒なことやってられないって気付いたからバージョンアップしたのにダメダメでしたね。
    用語や仕組みもユーザーは極力意識しなくていいように命令に丸めたつもりでしたが、その命令の使用方法が不明では使いようが無いですよね。後付したブレークポイントも命令ひとつ書くだけだからと補足すらない状態で、結局ヘルプ上に並んだ命令群の中からそのひとつを探し出さなきゃいけない。これでは使われませんよね、反省しています。

    これから、サンプル・マニュアル中心に更新していくことにします。もしまだ興味が残っているようでしたらその時にでも手に取っていただければ幸いです。

No.3 []さんが作品を評価しました( アイデア ) - 2013/11/05 21:47:04

    プログラム同士が通信して、お互いでデータのやりとりができる と考えてよいのでしょうか。なかなか面白そうなシステムだと思います。
    ただ、使っている用語が難しいのと、サンプルが複雑すぎるのとで、正直、よくわかりませんでした。
    せめて、もっとシンプルなサンプルがあればいいのにと思いました。

No.2 [衣日和]さんが作品にコメントしました - 2013/10/28 02:14:57

    > k-kobori さん

    コメント&評価ありがとうございます!それも2作品も!とても励みになります。

    なごコネの基礎はアプリAの変数Bに入っている値をアプリCの変数Dに複写すること、ただそれだけなんです。そのためのアプリAとアプリCを結ぶ機能、変数Bを変数Dに複写する機能、そのタイミングでサブルーチン割り込みを実行させる機能を幾つかの命令にまとめたものです。
    実は多くの方に使って欲しくて極力簡単に利用できるように整備してきたつもりでしたが、やっぱりまだまだでしたね。まったくご指摘の通りで、本来なら中身なんか知らなくてもいくつかの命令を覚えるだけで利用できるようにマニュアル類も含めて整備するべきですよね。貴重なご意見、今後の参考にさせていただきます。

    またWindows由来のあれこれをふんだんに使用しているためWindows上でしか動作しない、つまりHSPDish等には対応できないこんなソフトですが何かのお役にたてれば幸いです。

    本当はアプリが自分の環境以外で動くのかとかも心配だったんです。反応を頂戴できて安心しました、ありがとうございますm(_ _)m

No.1 [k-kobori]さんが作品を評価しました( 技術 完成度 アイデア ) - 2013/10/27 22:12:15

    知識がないので、とりあえずダウンロードしてみて説明書きの通りサンプルを実行してみました。

    確かに、別々のアプリが連携している状態が確認できました。
    しかし正直言いまして、自分にはまだレベルが高すぎて説明書にでてくる単語一つ一つを調べることから始めないとこのアプリを使いこなすことはできないだろうと思いました。

    ただ、例えばゲーム制作時にエディタとゲーム本体の両方を連携させれば、非常に効率的に作ることが可能なのかもと感じました。

    そのような使い方ができるんだよな?と思いながら、コメントを書き込ませていただきました。