問題タブ [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.
excel - Office 2007 のアップグレードで 4GL プログレス コードが壊れる
いくつかのレガシー 4GL プログレス コードをサポートしています。4GL を実行しているサーバーの 1 つが、知らないうちに Office 2007 にアップグレードされていました (いいですね)。とにかく、アップグレードにより、excel.application COM コンポーネントを実行しているコードのセグメントが壊れました。財務部門は、Excel ドキュメントに保持する売上予測数値のリストを保持しており、次のコードはそれらの数値を読み込みます。
コードを実行すると、次のエラーが表示されます。
「メソッド/ステートメントの処理中に無効なコンポーネント ハンドルが参照されました: Range.」
奇妙なことに、A) 「開く」コマンドまたは「作成」コマンドでは失敗しないため、COM オブジェクト自体に問題があるようには見えません。B) Office 2007 も実行しているマシンから同じコードを実行すると、問題なく動作します。
これをトラブルシューティングする方法についてのアイデアはありますか?
ありがとう!
c - C関数を呼び出すProgress4GL
私はProgress4GLアプリケーションから呼び出されるC言語関数で作業してきましたが、次の疑問がありました。
C関数はmallocを使用してcharの配列を動的に割り当てます。その考え方は、そのメモリを割り当てるポインタが、Cメソッドの結果を保持するために最初にMEMPTRデータ型を送信したProgress4GLプロセスに返されるというものです。
基本的に、ProgressからのMEMPTRをC関数に送信して、Cで生成された配列を「受信」し、スコープがde C関数から配列に戻るときに使用する必要があります(CメソッドがMEMPTRの進行状況を「埋める」両方の言語間の参照パス)変数)。
私の質問は:
Progressプロセスが終了し、MEMPTR変数が「解放」されると、C関数でmallocに割り当てられたメモリも解放されますか?
と
C関数でmallocに割り当てられたメモリを解放すると、Progressプロセスがガベージデータを受け取ると思いますが、これは正しいですか?
お手数をおかけしますが、よろしくお願いいたします。
ご挨拶。
c - 進行 4L SET-SIZE ステートメントと C - malloc
MEMPTR を介して Progress プロシージャに返される char 配列に ( malloc を使用して) メモリを割り当てる共有ライブラリがあります。
OpenEdge のマニュアルで、Progress MEMPTR を解放するには、SET-SIZE ステートメントを使用してゼロ (0) に設定する必要があることを読みました。
だから私の質問は、これを行うことです:
SL の malloc で割り当てられた返された配列のメモリも解放されますか?
そうでない場合、プログレス プロセスの終了後に C で割り当てられたメモリを解放する関数を作成できますか?
そして最後に、この関数を作成する必要がある場合、誰かが私に何らかの方向性、リファレンスマニュアル、またはチュートリアルを教えてもらえますか?
code-analysis - Progress 4GL コード解析ツール
Progress 4GL 周辺のコミュニティの活動が非常に不足していることは承知していますが、SO の人々は驚くほど機知に富んだ集団です!
クラスの依存関係ツリー、インクルード ファイル、および Progress 4GL のその他の構造を作成できるツールを探しています。理想的には、自動ビルドに統合できるように、コマンド ライン インターフェイスが必要です。
できれば自分で巻くのは避けたいです。4Mloc コード ベースがあるため、手動で生成された依存関係グラフはうまく機能しません。希望はありますか?
ありがとう!
final - Progress-4GL で同等の final/const キーワード
Java で不変メンバーを持つクラスがあった場合、次のようにします。
Progress-4GL では、通常、次のような内容が表示されます。
Progress 10.2B で、定数/最終変数を作成する機能が追加されたとのことでした。ただし、どこにも参照が見つかりません。FINAL
私のアーキテクト (バージョン 10.2A) では、それがキーワードと見なされていることがわかります。しかし、その背後にあるドキュメントは、単に私を逃れます.
Progress のドキュメントを検索しようとしたことがあるなら、私のジレンマをご存知でしょう。
Progress 10.2B で不変変数を使用するにはどうすればよいですか? 注意が必要な落とし穴はありますか?
ありがとう!
EDIT 1に関するドキュメントを見つけましたFINAL
。クラスとメソッドにのみ適用されるようです。私の現在のアプローチは
c - C SL 関数から Progress 4GL に値を返す
私は、Progress 4GL プログラムと、共有ライブラリから呼び出された C 関数との間の対話に取り組んできました。
新しい関数を作成して SL に追加する必要があるので、質問は次のとおりです。
Progress は SL C 関数から返された値を受け取ることができますか?
何かのようなもの :
これが可能であれば、誰かが正しい構文またはリファレンス マニュアルを教えてもらえますか?
progress-4gl - データベース テーブルと同じ名前のバッファの作成
私は多くの場所でこのコードに出くわしました:
2 つの質問があります。
これの目的は何ですか?テーブルと同じ名前のバッファを作成すると便利なのはなぜですか?
このテーブル/バッファにアクセスするコードを書くとき、Progress は DB に直接アクセスするか、バッファを介してアクセスするかをどのように判断しますか?
progress-4gl - kSoap でプログレス プロシージャを呼び出す
私はプログレスでまったく新しいです。Android アプリで Progress Procedure (XML ページとしてエクスポートすると機能する) にアクセスしようとしています。それなりの結果が得られたので、私は kSoap を使用してこのトリックを実行しています。
しかし、Android プロジェクトで Progress Procedure にアクセスできないようです。だれか助けてもらえますか?
どうもありがとうございました。
windows - DDE を使用して Windows 7 でレガシー プログラムを実行する際の問題
私の管理者は大きな問題に遭遇しました。私は彼らの窮状を SO に伝えています。
レポートを生成するためにWordPerfect X3を呼び出すレガシー データベース アプリケーション (Progress 4GL/OpenEdge で記述) があります。WordPerfect 実行可能ファイルへのパスは、データベース アプリ内でハードコーディングされており、データベースに挿入されるスキャン済み PDF の場所もハードコードされており、プログラムを変更する方法はありません。
ほとんどのワークステーションはWinXPからWin7に正常に移行されており、レガシー アプリケーションは WordPerfect を呼び出そうとするまで正常に動作し、実行可能ファイルが見つからないと言って (WinXP で使用されているのとまったく同じパスに X3 がインストールされていても) ..スキャン文書フォルダも同様です。
助言がありますか?
アップデート:
私は今朝、あなたが提供したさまざまな提案で管理者を支援しました...ファイルのアクセス許可を確認し、コンパイルされた(.r)ファイルを16進エディターで調べ(@Tomと@Ernestに感謝)、検索を行いましたNotepad++ を使用して、すべてのソース コード (.p) 内のファイル。
これが私が見つけたものです: プログラムはWordPerfectを直接呼び出していません(私が最初に知らされたように)、代わりにDDEを使用しています. Progress 4GL が生成するエラー メッセージは次のとおりです。
DDE と Win7 に問題があることは承知しているので、回避策があるかどうか疑問に思っていました。レジストリ キーを変更する必要があるか、何かに影響を与える可能性があります。
誰かが何が起こっているのかを認識してくれることを期待して、以下のソースコードからの抜粋を含めます (私は Progress 4GL に精通していないので、すべてギリシャ語です)。
sql - LIMIT結果の進行中10.1C
MYSQL LIMIT 0、1000のように、進行中のSQLクエリ10.1Cの結果を制限する方法はありますか?
よろしく