OSの種類 | 制限事項
|
---|
全OS
|
-
「CPWindow::CreateNewWindow」で作成したモードレスダイアログ上のCPEditBox/CPSpinEditBoxなどの入力フィールド上では、
[Ctrl]+[C] / [Ctrl]+[V]などのショートカットが効きません。
モードレスダイアログ上では、お手数ですがキーボード入力のないインターフェースを心がけるようにしてください。
|
Windows NT4.0
|
-
「CPWindow::CreateNewWindow」で作成したモードレスダイアログとは別のウィンドウ(たとえばShadeの図形ウィンドウ)を
アクティブにすると、C-Partsで作成したダイアログが後方に移動します。
|
Mac OS X
|
-
Windowsのように、C-Partsの動的ライブラリ(CPartsLib.dll)を別モジュールにする、ということができませんでした。
このため、OS X上では、C-Parts本体をスタティックライブラリとして、Shadeプラグインとリンクする必要があります。
(個々のC-Partsを使ったプラグインが、C-Partsのスタティックライブラリを持ってしまう状態)
プラグインのファイルが大きくなることを避けるため、
C-Partsの「CPImageクラスにおけるOpenGL描画機能」
「CPImageクラスにおけるJPEG画像の読み込み」
「CPImageクラスにおけるPNG画像の読み込み」を割愛しております。
これは、将来的になんとかしたい部分です。
-
CPEditBoxにおける入力フィールドにおいて、全角文字の入力ができません。
これは、C-Partsのウィンドウと「ことえり」(IM)にて、カレントウィンドウポートの奪い合いが起こるためです(結果、不安定になり、アプリが落ちることがあります)。
これも、なんとか解決策を見つけたいところです。
-
C-Partsのライブラリ(CPartsCW.a)をShadeプラグインにリンクした状態で、Shadeプラグインを認識させない状態にした場合
(has_interface外部関数で0を返す。create_interface外部関数の引数「*p」にNULLを入れる)、
Shade終了時に不正なエラーが発生します。
このようなパターンのプラグインを組む場合はめったにないかと思いますが、
OS Xでは、has_interface外部関数で1以上を返すようにすると、この問題は発生しません。
-
ループをforで回してコントロールの再描画(Repaint)をする場合(例えば、処理の経過をCPProgressBarで視覚化する、など)、
途中経過が描画できません(描画処理自体がイベントのキューにプッシュされてしまい、ループを抜けてからしか描画が働かないようです)。
このような、連続再描画をかける場合は、そのループ処理自体をスレッドに入れて処理するようにしてください。
ただし、スレッド処理が不安定要素の原因になる可能性もありますので、スレッドを使用する場合は十分注意してご使用ください。
|