1

PFC を使用して構築されたアプリケーションがあります。私は奇妙な問題に直面しています。ワークスペースを定義して PFC ライブラリのみを開くと、移行して完全なビルドを実行できます。ただし、これをアプリケーション ライブラリに含めるとビルドされず、C0001: Illegal datatype s_printsetupattrib というエラーが表示されます。

このエラーは、どこで使用しても発生します。

グーグルは答えを出していません。pfcapsrv.pbl 内で s_printsetupattrib を再生成しようとしましたが、正常に再生成されます。次に試した手順は、pfc_n_cst_platform (pfcapsrv.pbl) などのオブジェクトを再生成することでしたが、これらは再生成されず、このエラーがスローされます。

アプリケーション移行ライブラリ リストに pbl をリストする必要がある順序はありますか?

この問題について何か助けていただければ幸いです。

よろしく、ンデサイ。

4

2 に答える 2

0

エラーなしで PFC を移行できる場合、それは 6.5 PFC ではありません。6.5 から 9.0 に移行しましたが、メモがありません。プリンターのセットアップは、Sybase がバージョン 8 または 9 前後に追加した機能の 1 つです。古い PFC はカスタム DLL と構造体を使用してシステム プリンター ダイアログを表示していましたが、新しいバージョンの PB には呼び出しが組み込まれているため、PFC はそれを呼び出します。新しいバージョンの PFC では、構造体ではなくオブジェクトを使用して値を渡します。これは、あなたが古い PFC を使用していないことを私が知っているもう 1 つの方法です。ただし、6.5 アプリは古い PFC 用に作成されています。

Codeplex から10.5 用の PFC の最新ビルドを入手することをお勧めします。ヘルプはそのパッケージにあると思います。そうでない場合は、ping を送信してください。リンクを見つけます。PFC で印刷設定を呼び出す新しい方法を見て、それに応じてコードを変更してください。注意すべき PFC 以外の落とし穴がいくつかあります。PowerBuilder の変更に関する Terry のアーカイブに目を通し、何が問題になるかを確認してください。私の考えでは、エディットマスク、ツリービュー、およびデータウィンドウ イベント (発生順序) の動作が変更されていると思います。

于 2010-06-27T00:59:36.750 に答える
0

この質問は古いことに気付きましたが、実際には答えが得られなかったので、2 セントを追加します。

プロジェクト オブジェクトを使用していて、そこから「デプロイ」ビルドを実行し、「フル ビルド」が指定されている場合、PB は自動的に正しい順序でコンパイルします。最高のアイデアです。PBL にも重複するオブジェクトがないことを確認することをお勧めします。

それでも問題が発生する場合は、自己参照状況やその他の複雑な状況のように PB コンパイラが混乱する問題があり、それが PITA です。ほとんどの場合、これはとにかく設計が不十分なものであるため、何が起こっているのかを理解するようにしてください聞きたいことではなく、コードを変更しますが、何かが起こります。

または...別の回避策として、適切にコンパイルされないコードに問題があり、失敗した場合、コンパイルされないオブジェクト(この場合は構造を参照するオブジェクト)を見つけて、ファイルで開きます-- > ソースを開き、構造を参照しているコードを見つけ、可能であればコメントアウトして再コンパイルを試みます。すべてがコンパイルされたら、手動でコメントしたオブジェクトを開いてコンパイルします。

あなたが説明していることはまったく珍しいことではありません.時代遅れのPFCを使用する場合は特に、創造的にならなければならないことがあります.

リッチ

于 2010-11-29T01:34:51.813 に答える