問題タブ [progress-4gl]

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.

0 投票する
1 に答える
1266 参照

dynamic - メニューを動的に操作して、進行中のWindowsアプリでMRUを作成します

進行中のWindowsアプリケーションがあります。私はバージョン10.1Cで作業しています。メニューにMRU機能を追加したい。つまり、アプリケーションの[ファイル]メニューのメニュー項目を追加、削除、および変更して、ユーザーの最新のファイルを使用された順序で表示したい。私はこれを他の多くの言語で十分頻繁に行ってきました。これはかなり一般的な機能であり、非常に簡単に実行できます。

しかし、これを進行中の方法で行うにはどうすればよいでしょうか。別の言語では、10個のメニュー項目を作成し、未使用のメニュー項目を非表示にすることもできますが、進行中の場合はそれを行うことはできません。理由が想像できません。

または、必要に応じてメニュー項目を動的に作成し、[ファイル]メニューのMRUリストの最後に追加できるはずですが、それもできないようです。まず、[ファイル]メニューのどこを指定できないかです。アイテムを追加する必要があり、常に下部に追加されます。次に、静的メニューに動的メニューを追加できないため、既存のファイルメニューにMRUメニューを追加できません。ファイルメニュー全体を動的にすると(これは本当にやりたくない)、それはできますが、動的ファイルメニューを静的メニューバーに追加することはできません。これは、メニュー構造全体を動的にするという受け入れがたいオプションを私に残します。

誰かアイデアはありますか?



以下のAdeの答えを使用して、これが私がそれを達成した方法の簡単な例です。MRUアイテムのラベルと値を変更するのに手間をかける必要はなく、適切な属性を設定するだけですが、新しいMRUアイテムを追加するには、[終了]メニュー項目を削除して再作成する必要があります。

実際のMRUアイテムは、ハンドルを一時テーブルに格納することを除いて、ここで[終了]メニューが作成されるのと同じように作成されます。

結果は次のようなメニューになります。

0 投票する
1 に答える
2713 参照

menu - 進行中の複数の動的ウィジェットでポップアップメニューをプログラムで操作する方法

言語:Progress 10.1C

私はWindowsフォームを持っており、その上にいくつかのウィジェット(この場合はトグルボックス)を動的に作成します。現在のコレクションにユーザーが持っているdo-hickiesの数に応じて、0から64のウィジェットを作成できます。ユーザーがあるコレクションから別のコレクションに変更すると、ウィジェットは必要に応じて削除または作成されます。表示されるウィジェットの数に応じて、フォームのサイズが変更されます。

ユーザーは、メニューバー、ツールバー、またはキーボードショートカットからアクションを選択することにより、それらをいくつでもチェックし、チェックした項目に対して特定のプロセスを実行できます。ただし、ユーザーが1つのウィジェットを右クリックできるようにする必要もあります。これにより、チェックされているかどうかに関係なく、ワンクリックされたアイテムに対して実行できるアクションを含むポップアップメニューが表示されます。

それ自体、これは非常に簡単です。以前は、ユーザーが動的コントロールのいずれかをクリックするとポップアップする単一のポップアップメニューを使用して、この種のことを(他の言語で)行っていました。しかし、私は進行中のこの単純なことをするのに苦労しています:

すべてのウィジェットの右クリックに応答するポップアップメニューを1つ持つことができません。単一のポップアップメニューを作成してみました。次に、各動的ウィジェットを作成するときに、そのポップアップメニュー属性をこのメニューに設定しました。問題は、メニューが1つのウィジェットにしか適用できないことです。Widget1に割り当てたら、Widget2に割り当てることはできません。これにより、ウィジェットごとに別々であるが同一のメニューを作成することを考えるようになります。また、ウィジェットが破棄されて再作成されると、これらのメニューも破棄されます。1回のセッションで、これらの同一のメニューを数百または数千も作成および破棄しますが、ユーザーはそのうちの1つを1回または2回使用する場合があります。またはまったくありません。したがって、これは私には良い選択肢のようには思えません。

次の解決策は、プログラムでポップアップできる単一のメニューを作成することですが、プログラムでメニューをポップアップする試みはすべて失敗しました。APPLY "MENU-DROP" TO MENU MyMenuなどを試しましたが、一生、その方法がわかりません。また、これに関する情報を検索するのは非常に難しいと思います。まるで誰もこれを試したことがないかのようで、まれに誰かがそれについて尋ねた場合、満足のいく答えはありませんでした。これはできないのではないかと思います。

これらすべてを試している間、MOUSE-MENU-DOWN、MOUSE-MENU-UP、MOUSE-MENU-CLICKというイベントで無限の問題が発生しました。マウス-メニュー-クリックは、とにかく私の動的ウィジェットではなく、決して起こらないようです。理由がわかりません。MOUSE-MENU-UPが発生することもありますが、MOUSE-MENU-DOWNやウィジェットの他のイベント、およびウィジェットの親で何が発生するかによって異なります。いつ発砲するか、発砲しないかを正確に把握することはできませんでした。非常に直感的ではありません。MOUSE-MENU-DOWNは私が発砲を頼りにできる唯一のものです。

つまり、プログラムでメニューを表示することはできません。メニューの親を右クリックすることによってのみ表示できます。何百もの同じメニューが表示されないようにする唯一の方法は、ウィジェットの親にポップアップメニュー(デフォルトのフレームなど)を表示することです。

デフォルトのフレームに静的ポップアップメニューがある場合、ウィジェットを右クリックするとメニューが表示されますが、フレーム内の任意の場所をクリックすると表示されます。メニューを無効にしてから、ウィジェットの右クリックイベントで有効にします。これは最初は非常にうまく機能します。フレーム内のどこかをクリックしても何も起こりません(メニューが無効になります)が、ウィジェットをクリックすると、メニューが有効になり、ポップアップします。わーい!しかし、今ではメニューが有効になり、ボタン、空きスペース、プログレスバーなどの任意の場所を右クリックするとポップアップします。いつ再び無効にしますか?メニューがポップアップした後、ユーザーはどこでもクリックでき、メニューは消えます。メニューを閉じたときに発生するイベントがないので、行き詰まります。

長いとりとめのない話について申し訳ありませんが、質問を簡単に言い換えます。ユーザーが動的に作成された多数のウィジェットの1つを右クリックしたときにポップアップするポップアップメニューを1つ作成したいと思います。


トムの答えを使用して、これは私がそれを実装した方法です:

0 投票する
1 に答える
3473 参照

progress-4gl - 一時テーブルの参照と作成からの値の取得

UI からの入力に基づいて、動的に値を設定します。

今、私はその参照に表示される値を取得し、そのための一時テーブルを作成したいと考えています。助けてください

0 投票する
1 に答える
2776 参照

progress-4gl - 動的クエリを使用して一時テーブルを作成する方法

次に、このクエリ用の一時テーブルを作成する必要があります。作成方法は?

作成のようなメソッドを使用している場合、これにどの値を渡す必要がありますか?

0 投票する
2 に答える
3231 参照

progress-4gl - 一時テーブルの値を .csv ファイルに書き込む

1 つの一時テーブルを動的に作成しました。完全なテーブルを .csv ファイルに出力します。実行する方法?

0 投票する
1 に答える
2283 参照

progress-4gl - 動的な場所の値/ファイル名でストリームを出力しますか?

動的に取得している場所にストリームを出力する方法..

場所を静的に取得するために使用できます

ストリーム s1 を "D:\reports1.txt" に出力します。

しかし、画面から値を取得したい場合はどうすればよいですか?

0 投票する
1 に答える
3113 参照

progress-4gl - 動的バッファからの動的一時テーブルの作成

これが私の問題です:

hBuffer は私のバッファハンドルです。

この hBuffer.How?Pls ヘルプから一時テーブルを作成したい

0 投票する
1 に答える
2770 参照

progress-4gl - 一時テーブルからブラウザにデータを入力しますか?

動的一時テーブルと動的クエリを 1 つ作成しました。これを参照に入力したいと思います。これが私のコードです。私の問題は、「バッファ コピー ステートメントのソース要素にレコードがありません (5365)」のようなエラーが表示されることです。 . これを解決する方法は?cip-tablename = UI から取得する tableName

0 投票する
1 に答える
1008 参照

progress-4gl - Openedge 11 MicrosoftSQLServerデータサーバーのパフォーマンス

現在、ProgressDBからSQLServerデータベースへのデータサーバーを使用するための移行プロセスが進行中であり、特にデータサーバーが多くのクエリに対してサーバー側の結合を生成できないパフォーマンスに関して、多くの問題が発生しています。

Openedge 11のデータシートには、これが改善されたと書かれていますが、誰もがどれだけ改善したかを知っています。

例として、2番目のバッファーがFIRST / LASTである2つのバッファーを含むすべてのクエリは、サーバー側で結合されませんが、これは変更されていますか?

どうもありがとう、

0 投票する
3 に答える
1555 参照

progress-4gl - OpenEdge ABL /Progress4GLクエリ

この進行状況クエリを書くのに助けが必要です:最初に、aa=variableおよびab=variable2およびac=variable3 and((ad <> variable4 and ae <> variable5 and af <> variable6)/ *this"またはin "は、私が実行したいことの単なるsudecodeです* /または(最初のb no-lock where ba = variable and(bb=variable7またはbb=variable8 no-error)))no-error。`

「orin」は私が問題を抱えているものです。