問題タブ [motif]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
linux - Oracle Forms 11gR2: FRM-10039: Form Builderを起動できません
SUSE SLES 11 上の Oracle Forms & Reports 11gR2 はこちら。
ソフトウェアを正常にインストールしましたが、フォーム ビルダー コマンドを起動すると、次のようになります。
$ $ORACLE_HOME/bin/frmbld
メッセージが表示されます:
"FRM-10039: フォーム ビルダを起動できません".
ORACLE_HOME が設定されています FORMS_BUILDER_CLASSPATH が設定されています LANG と NLS_LANG の設定を解除しようとしましたが、まだエラーが発生します
フォーム コンパイラ コマンドがグラフィック インターフェイスを表示するため、モチーフ/Xwindow の問題ではないようです。
$ $ORACLE_HOME/bin/frmcmp
なにか提案を?
ありがとう、クリスティアン
linux - モチーフに画像をボタンとして設定する方法
openmotif ウィジェット ツール キットを使用して、画像をプッシュ ボタンとして構成できるかどうか疑問に思っていました。
基本的に、Image はボタンのように機能し、通常のプッシュボタンと同様にコールバックをアクティブにします。これはモチーフでどのように可能でしょうか?
ご回答ありがとうございます。
c - SEGV 信号 (C) を受信しているのはなぜですか?
コードをコンパイルした後、状況に応じて、メモリの不正アクセスに関連する SEGV 信号を受信しています。ソースと、最近の変更前にコードが機能していたことを考えると。この信号を受信しているのはなぜですか?
注: Motif の型戻りの説明
TextField ウィジェットの文字列値への文字ポインタを返します。この戻り値は、XmNvalue リソースの値のコピーです。TextField ウィジェットの文字列の長さが 0 (ゼロ) の場合、空の文字列を返します。
宣言:
以前の初期化:
現在の初期化:
例外:
qt - XCB と libX11 イベント ループの統合 - Xt 内の select/poll でハングアップ
2 つのコード本体を、以前はそれぞれの GUI ツールキット用に独立したイベント ループを持っていた同じプロセスに統合しようとしています。1 つは Xt を使用し、もう 1 つは Qt5 を使用しています。その意図は、Qt サブウィンドウを表示できるようにすることであり、現在は機能していない Qt/Motif 統合拡張機能のような完全な統合を実現することではありません。
XCB イベントを XEvent に変換するネイティブ イベント フィルターを使用して、標準の Qt イベント ループで動作する粗いプロトタイプを作成できました (XESetWireToEvent + そのハンドラーを使用して xEvents / X11 ワイヤー フォーマットから変換します)。次に、XtDispatchEvent() を使用して、これらの XEvent を Xt に直接ディスパッチします。この時点で、プログラムを実行し、同じプログラムで Xt/Motif ウィジェットと Qt ウィジェットの両方を作成し、メニューを使用し、2D グラフィックスを描画し、Qt と Motif ウィジェットの両方を使用できます。
私が抱えている問題は、新しい Motif ダイアログを作成するときに長い遅延があることです。これを libXt 内の _XtWaitForSomething() まで追跡しました。最終的には、明らかに X サーバーの接続ソケット上の select() または poll() に行き着きます。_XtWaitForSomething() へのこの呼び出しは、XtManageChild() 内で発生するウィンドウのレイアウト管理の結果として発生します。_XtWaitForSomething() は、イベント キューに保留中のイベントがあるかどうかをチェックしているようです。
いくつか質問があります:
XCB と libX11 の両方の呼び出しを同じプログラム (イベント キュー マスターとして XCB を使用) で使用する場合、従来の Xlib からの呼び出しも適切に機能することを期待できますか? たとえば、libX11 呼び出しを介して XCB イベント キューにイベントをポストしたり、古い libX11 呼び出しを介して XCB イベント キューで保留中のイベントはありますか?
XtManageChild() が libXt 内の _XtWaitForSomething() でブロックされるのはなぜですか? ジオメトリ変更イベントを待っている可能性があります。興味深いことに、Qt のプラットフォーム レイヤーは XCB イベントを別のスレッドで読み取りますが、メイン スレッドでディスパッチします。Xt が _XtWaitForSomething() にイベント キューに何かが含まれているかどうかを確認する機会を得る前に、Qt の XCB リーダー スレッドがイベントを食べて、デッドロックにつながるのではないかと思います。Xt を呼び出している間に Qt の XCB イベント ループ [または一般的な XCB イベント ループ] をブロックさせる方法はありますか? Qt の変更はオプションではないため、Qt を変更して XCB レイヤーに条件変数を含めることはできません。
XCB のイベント キューの「所有者」ステータスは、[XSetEventQueueOwner(..., XCBOwnsEventQueue)] を意味します。これは、イベントを収集する XLib 呼び出しが実際にはイベント キューの先頭からイベントを「取得」しないことを意味しますか?
説明されているアプローチで明らかにブロックする問題はありますか? タイマー (イベント ループでこれらを処理する Xt 関数は呼び出されなくなりました)、モチーフ ウィジェットへの Qt サブウィンドウのウィンドウ親子関係を整理する必要がある可能性が高いことは既にわかっています。
ありがとう。