Foundation > Rogue Wave Views を X Window システムで使用する > ライブラリー > Motif バージョン、libmviews の使用
 
Motif バージョン、libmviews の使用
IlvDisplay オブジェクトを作成すると、Xt ライブラリーが初期化され、トップ・シェル・ウィジェットが作成されます。 メンバー関数 IlvAbstractView::getSystemView または IlvAbstractView::getShellSystemView は実際の Motif ウィジェットです。 イベント・ループ管理は XtAppMainLoop の呼び出しとまったく同じです。 プラットフォームに Motif をインストールし、libmviews ライブラリーを libXm ライブラリー、libXt ライブラリーおよび libX11 ライブラリーとリンクする必要があります。
これらの相違点はこの付録の残りの部分で詳しく説明します。また、どちらかのモードを使用する方法の例も提供されています。
重要な制限:
libmviews は、共有ライブラリー形式で使用されていません。 バージョン 4.0 以降、Rogue Wave Views で提供されるすべての共有ライブラリーは libxviews を使って構築されており、libmviews との互換性がありません。
libmviews は、他の Rogue Wave Views ライブラリーのスタティック・バージョンとのみ併用することができます。
libxviewsとlibmviewsの非互換性
libxviewslibmviewsはどちらも同じ基底クラス名でウィンドウシステムを実装しています(IlvDisplay, IlvViewなど)。それらは同じメンバ関数名や関数名を定義しているため、互いに互換性がありません。アプリケーションを作るにあたってはlibxviewslibmviewsのどちらか一方を選んでください。両方を同時に使うことはできません。
libmviewsでは静的リンクのみ
libmviewsは動的リンクできません。Rogue Wave ViewsのUnixでの共有ライブラリは明示的にlibxviewsを参照しているからです(OSが互換性のない両方のライブラリをメモリに読み込んでしまい、予期しない振る舞いを起こします)。
libmviewsは動的にロードできません
Rogue Wave Viewsで動的にロードする方法は唯一共有ライブラリを使って動的にアプリケーションにリンクすることのみ可能です。libmviewsを使ったアプリケーションは静的リンクする必要があるため、動的なロードはできません。
libmviewsを使った場合ViewsのガジェットとMotifウィジェットを混在できません
Motif/XtとViewsではウィジェットやガジェットのようなコントロールを制御するのに異なる方法を使っています。特にキーボードによるフォーカスの移動、メニュー、文字入力の国際化対応などです。これらの異なる方式が干渉し、望まない動作をするかもしれません。
こういった衝突を防ぐため、MotifウィジェットとViewsを使ったアプリケーションはViewsのガジェットを使わないでください。

Version 6.0
Copyright © 2015, Rogue Wave Software, Inc. All Rights Reserved.