Navision 2009 SP1(Classic Client)のレポートを開発していますが、NAVで利用できない特別な機能の必要性が生じています。私はC#でCOM DLLを作成しているNavision C/AL C#COM dllでエラーを作成する
は、(バージョン対「自由」のInstallShieldを使用して)それをインストールし、NAVに自動変数を作成しました。クラスとインターフェイスが表示され、Printメソッドが表示されますが、変数を作成しようとすると次のエラーが発生します。
"OLEコントロールまたはオートメーションサーバーのインスタンスを作成できませんでした... .. OLEコントロールまたはオートメーションサーバーが正しくインストールされ、登録されていることを確認してください。
これはコード(単に接続行くを取得しようとしている)である:
[ComVisible(true), Guid("080a97fb-321c-4a2f-b948-dd52ce263415"), InterfaceType(ComInterfaceType.InterfaceIsDual)]
public interface IPrinterTest
{
[DispId(1)]
bool Print(string test, string bytesInStringRepresentation);
}
[ClassInterface(ClassInterfaceType.None), ComVisible(true), Guid("8d7b85a9-1a20-4ea0-a7d4-decf26632eee"), ProgId("Printer.PrinterTest")]
public class PrinterTest : IPrinterTest
{
public PrinterTest()
{
}
public bool Print(string test, string bytesInStringRepresentation)
{
return true;
}
}
本番環境でのみ.NET Frameworkのクライアントプロファイル(3.5および4.0)を持っている、これがします。regasmは4.0で(利用可能であることを意味し)、そしてガクチルはそうではないということです。
私は、NavisionでDLLを選択できるため、InstallShieldではなく、コードに問題があると想定しています。また、ナビゲーションオートメーション変数を作成しようとすると問題が発生します。
敬具
私はここで起こっている下投票文化を理解していない、私は本当にしない。私の質問が満足できるものではないと感じたら、なぜ私のコメントにコメントしてみませんか?あなたが私が間違っていることを私に知らせなければ、私は改善できません。 – Starwop
'CREATE(NameAutomationVariable)'行でエラーが発生しましたか? –
はい、 "CREATE(NameAutomationVariable)"を実行するとエラーが発生します。 CREATEの結果を消費すると、常にfalseが返されます。 – Starwop