C-Parts Ver1.12 / Ver1.13


吉阪 豊(Yutaka Yoshisaka)
2003/02/28 update

※C-Parts Ver1.13は、Windows版のみ公開しております。
    こちらよりダウンロードできます。

いろいろなプラットフォーム間(Windows、Macintosh、Linuxとか・・・)において、アプリケーションのプログラムをしたことはあるでしょうか?
それ以前に他のOSがわからん、とか根本的な問題もあると思いますが、「OSが変わったら設計(プログラム)を作り直さないといけない」 という壁に直面するということがよくあります。 同じアプリケーションを他のOSでも展開していきたいけど、覚えないといけないことも多いですよね。
そこで、極力OS間の違いを吸収するためのライブラリがあれば・・・と誰もが思います。それを開発してしまおう、というのが「C-Parts」 というプロジェクトです。
グラフィック部分(プッシュボタン・テキストエリア・ダイアログなどのGUI部品、線・点などの描画処理)と イベント処理、ネットワーク部分をカプセル化することにより、他のOSでも作成したプログラムソースを変更することなくコンパイルするだけで、 そのOSで実行できるモジュールができてしまいます。

C-Parts 構成図
このC-Partsの主目的が「Shadeのプラグインの強化」です(^_^)。
C-Partsのダウンロードは、こちらよりダウンロードできます。

サポートOS
現在の「C-Parts」でサポートされているOSは以下の通りです。


ただし、環境によっては多少制約事項があります。
詳しくは、C-Parts SDKをダウンロードしたときに添付されているオンラインヘルプを参照してください。
Ver1.10より、Mac OS 9(クラシック)は切り捨てました。
将来は、Linuxなどもターゲットにできれば、と思っているのですがメドはまだ立ってません。

なお、Shadeで使用する場合は「Shade6 advance/professional」+「Shade6のプラグインSDK」が必須になります。

機能

GUI部品の種類について
下の画像は、Shade 6においてC-Partsを使ったテストプラグインを呼び出したものです(手前の画像が付いているものがC-Partsを使って作成したダイアログ)。
基本的には見た目(ルックアンドフィール)は、WindowsでもMac OS Xでもまったく同じになります。
このようなインターフェースのウィンドウ・ダイアログを比較的簡単に、Windows/OS XなどのOSに依存しないソースコードで作成することができます。

Windows 2000でのC-Parts on Shade 6
Windowsの「C-Parts」テストプラグイン

「C-Parts」では以下のGUI部品を使用することができます。

Shadeとのブリッジ
C-Partsは(一応)汎用的に作っていますが、初期化処理で1カ所だけOSに依存するコードを書かないといけません(親ウィンドウのハンドルを渡すため)。
私個人としては、このあたりは醜いなと感じましたので、Shadeのプラグインに限っては「C-Parts」-「Shade」のブリッジプログラム(ShadeからC-Partsを呼び出すためのラッパー)を作ってます。
将来的には、Shadeプラグインの機能の中での使いづらい部分を、簡単に引き出せるようなラッパーにしようとたくらんでおります。

C-Partsライブラリ
C-Partsは共有ライブラリとして、
Windows版だけ、「CPartsLib.dll」という共有ライブラリを使用します。

Windows版のShadeの場合は、Shadeの実行ファイルのあるフォルダと同じ位置にこのライブラリをコピーするだけで、C-Partsを使用したプラグインは動作します。
Mac OS X版のC-Partsでは、各プラグインに「スタティックライブラリ」としてC-Parts自身を組み込むことになります。
このため、他のプラグインと変わらずに使用することができます。

運用について
「C-Parts Ver1.10」より、この「C-Parts SDK」(開発ツール群)を「カンパウェア」としました。
以前はシェアウェアと予定していたのですが、プラグイン普及を促すために「気に入っていただければお支払いください」という形態にしました。
よって、独自にC-Partsを使ったアプリケーション・プラグインを作り、フリー・シェアウェアで公開される場合でも、 特にC-Partsのライセンス料を納める義務はありません。
ただし、「C-Parts SDK」自身を転売・配布する、ということは固く禁止します。

Windows版のC-Partsの共有ライブラリ「CPartsLib.dll」は、ご自由に配布・バンドルしていただいてかまいません。
(ただし、「CPartsLib.dll」単体での転売は禁止です)

送金体制は、ベクターのシェアレジを利用しています。
以下のサイトよりシェアレジでの送金ができるようになっております。

http://sw.vector.co.jp/swreg/detail.info?srno=SR031039

シェアレジ作品番号:SR031039
作品名:C-Parts SDK
価格:2000円

送金をされない場合でも、機能制限は一切ありません。

ダウンロード

C-Partsには、 C-Parts対応アプリケーション(プラグイン)の動作に必要なランタイムライブラリ「CPartsLib.dll」と、 C-Parts開発ツール一式である「C-Parts SDK」とがあります。
現在、ランタイムライブラリである「CPartsLib.dll」は、Windows版のみ存在します。
Mac OS X版は、C-Partsを使用したアプリケーション(プラグイン)そのものにスタティックライブラリとして組み込みますので必要ありません。



アップデート情報

2003.02.28 (Ver 1.12 - Ver1.13) Winのみアップ


2002.12.11 (Ver 1.11 - Ver1.12)


2002.10.30 (Ver 1.10 - Ver1.11)


過去のバージョン(Ver1.11)


過去のバージョン(Ver1.07)

以下のファイルは、「Shade R5」用のC-Partsランタイムライブラリ「CPartsLib.dll」と、SDK・ドキュメントです。
サポートはうち切っておりますので、ご了承ください。