1

テキストファイルからFormオブジェクトをインポートしました。コンパイルしようとすると、次のエラーメッセージが表示されます。

このメッセージは、C/ALプログラマー向けです。
「MicrosoftCommonDialogControl 6.0(SP3)」で識別されるOLEコントロールまたはAutomationServer。CommonDialogには設計時ライセンスが必要です。このライセンスは取得できません。OLEコントロールまたは自動化サーバーが適切なライセンスで正しくインストールされていることを確認してください。」

開発者ライセンスを使用してDynamicsNAVで開発しています。OCXは正しく登録され、NAVの「カスタムコントロール」に「C:\ Windows \ SysWOW64\comdlg32.ocx」を指すものとしてリストされます。
オブジェクトをコンパイルできないのはなぜですか?

4

3 に答える 3

1

問題のライセンスは、あなたが言ったように、純粋に設計時環境でCommonDialogコンポーネントを使用するためのものです。これは、NAVライセンスや、顧客がコンポーネントを使用するコードを実行できることとは関係ありません。設計時ライセンス(システムレジストリのキーにすぎず、実際のライセンスファイルではありません)は、Microsoft VisualBasic6.0または古いバージョンのMicrosoftVisualStudioなどでインストールするために使用されます。

VB6.0またはVS2005にアクセスできる場合は、http://support.microsoft.com/default.aspx?scid = kb; en-us; 318597で説明されているように、インストールディスクでVB6Controls.regを使用できます

于 2012-08-22T04:34:33.870 に答える
0

メッセージにあるように、コンポーネントがロードされ、ライセンスを取得しようとしますが、取得しないでください。したがって、それが言うようにそれを持っていないか、コンポーネントがそれを見るパスルックアップにそれを持っていません。

于 2012-08-21T13:53:09.720 に答える
0

この問題を修正し、VB6.0のような多くのがらくたをインストールしないようにするためにできるもう1つのトリックがあります。

このメッセージは、コンパイルしようとしているオブジェクトの特定の自動化型変数に関連しています。

この変数は、他のデータベース内の他のコンパイル済みオブジェクトまたは同じデータベース内の他のコンパイル済みオブジェクトからコピーできます。そして、インポートされたオブジェクトは魔法のようにコンパイルされます。インポートしたオブジェクトの変数リストから変数を削除し、コピーして貼り付けてコンパイル済みオブジェクトからコピーするだけです。

それがどんな魔法なのかはわかりませんが、何度も効果がありました。データベースの復元されたバックアップで同じオブジェクトから変数をコピーしました。

于 2013-10-02T07:04:11.350 に答える