0

PowerBuilder アプリケーション v12.1 Build 6518 のコンパイルに関する問題

複数の開発者がSVN (クライアントCollabNet V1.6.16-1およびTortoiseSVN V1.6.15 PBSCCProxy 02/01/78 )を使用してこのアプリケーションに取り組んでいます。このアプリケーションには、「 OLE コントロール」を含むウィンドウが含まれています。現在のバージョンの OLE コントロールは、このウィンドウに (移行後) 6 か月間存在し、アプリケーションを起動するためにこのコントロールの関数が定期的に呼び出されます。

OLE コントロールは、すべての開発ワークステーションに ( 経由で[Regsvr32 AgentLink.dll]) 登録されます。この DLL のコントロールは Windows によって参照されます。実際、チェックするために、任意のウィンドウにコントロールを挿入することでこれを再作成できます。これは、PB によって提案されたリストに存在します (ただし、コントロールを介してサブスクライブを解除するとリストから消え、後で[Regsvr32 / u AgentLink.dll] 再表示されます)よく終わった[Regsvr32 AgentLink.dll]

ワークステーション ( Windows 7 Pro 32 ビット SP1 ) では、PB でのこのアプリケーションの実行と実行可能ファイルは正常に動作します。別の拡張機能 ( Windows 7 Pro 32 ビット SP1も) では、回復ソースの更新後、PB での実行およびスタンドアロンで生成された実行可能ファイルによる実行により、次のエラー メッセージが生成されます。

PowerBuilder Application Execution Error (R0039)
Application terminated.
Error: Error Accessing external object property agentproxy at line 88 in open event of object w_hermes_toolbar.

エラーは、OLE オブジェクトの関数の最初の呼び出しで発生します。

調査の結果、ウィンドウに配置されたOLE オブジェクトは、このウィンドウのエクスポート ファイルの最後にバイナリ セクションを生成します。

[Start of PowerBuilder Binary Data Section: Do NOT Edit]

(このバイナリ セクションは、「ソースの編集」中は表示されません) SVN は、このバイナリ セクション.srwWorkingCopy.

短所として、アプリケーションが動作しないコンピューターでは、ウィンドウをエクスポートすると. まったく異なるバイナリ セクションを持つ Srw。この破損したバイナリ セクションをSVN WorkingCopy.srwのファイルに存在するものに置き換え、この変更されたファイルをライブラリに再インポートすると ( CheckOutの後)、アプリケーションは再び正しく動作します。

このバイナリ セクションは、 PBSCCProxy (WorkingCopy のバージョンには正しいバイナリ セクションが含まれています) またはPowerBuilderによって、特定の項目で破損しています。Regenerate と FullBuild は何も変更しませんでした。この問題は、スタンドアロン実行でも PB でも同じです。開発用コンピューターは、Windows、PB、および SVN バージョンで同一です。 PBSCCProxy バージョン (2.1.78)も同じで、問題が発生した後にバージョン2.1.80で更新されました (このバージョンで実装されたPBSCCのログを取得するため)。

問題は「突然」現れました。アプリケーションと生成された実行可能ファイルは14.30 ( 2.30pm) のコンパイルで完全に機能し、 16.00 (4.00pm)でコンパイルした後は機能しなくなりました(変更は毎回別のコンピューターで生成され、SVN経由で取得されました)。私たちが知る限り、14:30から16:00の間にウィンドウで変更や更新は行われませんでした。

どんな助けでも大歓迎です。

4

1 に答える 1

0

このセクションは、オブジェクト/ウィンドウを最後に編集したワークステーションからの OLE コントロールのバイナリ バージョンを表します。

専用のビルド マシンを含むすべての開発ワークステーションに、最新の正しいバージョンの OLE コントロールがインストールされ、登録されていることを確認します。

于 2012-05-03T18:23:52.160 に答える