5

私はまだ学習中にいくつかの問題に直面しているので、大きな子供たちと遊ぶと悪化する傾向があると思います:ダイナミクスの警告はVSのように正確で有益ではなく、マウスオーバーのヒントはなく、例外がありますどこが間違っているのかを正確に教えてください。私はVisualStudioに慣れすぎており、インテリセンスとすべてのツールです(Visual Studioと比較した場合のダイナミクスはまったく新しいものです)

単純なコードの問題を解決するだけでなく、自分が作成していないコードで発生する可能性のある今後の問題や、Visual Studioで3分以内に解決する他の問題を解決する方法、およびで生き残るためのヒントを学びたいと思います。すべてのVisualStudioツールを使用しないDynamicsAxe。

4

4 に答える 4

8

Dynamics AXのコードエディターには、テーブルまたはクラス変数の名前の後に。を入力するというインテリセンスがあります。または::そのアイテムで使用可能なフィールドまたはメソッドのリストが表示されます。((メソッド呼び出しを開始するには、ツールチップにそのメソッドで使用可能なパラメーターが表示されます。新しい行を開始するときに、右クリックして、テーブル、クラス、タイプなどを一覧表示できます。これらのコマンドのほとんどは、ショートカットキーを介して利用できます。インテリセンスは、メソッド内のカーソルの位置までのすべてのコードが構文的に正しい場合にのみ機能することに注意してください。

開発環境(ツール/開発ツール/相互参照/定期的/更新)で相互参照を更新したことを確認してください。更新された相互参照を使用すると、AOT内の任意のテーブル、フィールド、クラス、メソッド、拡張データ型、または列挙型を右クリックし、[アドイン]/[相互参照]/[使用者]を選択して、そのアイテムがシステム。

ツール/開発ツール/コードエクスプローラーを使用して、すべてのタイプ、変数、およびメソッドがハイパーリンクに変換されたアプリケーションのソースを表示し、クリックしてそのアイテムの定義に直接移動することもできます。

もう1つの便利なツールは、アプリケーション階層ツリーです。これは、[ツール] / [開発ツール]の下、または右クリックして[アドイン]メニューから利用できます。これによりクラス階層が表示されるため、たとえば、SalesFormLetterがRunBaseBatchから派生したFormLetterから派生していることが簡単にわかります。

エディターで、テキストを強調表示し、右クリックして[ルックアッププロパティ/メソッド]または[ルックアップ定義]を選択できます。

システム内のどこで特定の情報ログメッセージが生成されたかを追跡しようとしている場合は、次の2つの戦略を使用する必要があります。

  1. メソッドInfo.add()の最初の行にブレークポイントを設定します。次に、メッセージを生成するコードを実行すると、情報ログが生成されるとすぐにデバッガーにポップします。次に、デバッガーでスタックトレースを調べて、メッセージを生成したコードがどこにあるかを確認できます。

  2. ツール/開発ツール/ラベル/ラベルエディタを実行し、メッセージのテキストを検索します。メッセージのラベルIDを選択し、[使用者]をクリックして、そのメッセージがシステム内のどこで使用されているかを確認します。

于 2010-01-04T22:35:12.613 に答える
4

インテリセンスや他の多くの拡張機能を拡張するhttp://www.axassist.com/もあります

于 2010-01-05T07:36:42.913 に答える
2

これらの人がすでに言ったことは非常に興味深くそして役に立ちます

実生活では、おそらく複数のコンテキストで作業していることをAX内に追加したいと思います。たとえば、クライアントで実行されているコード、サーバーで実行されているコード、pコードとILで実行されているコード、COM統合、エンタープライズポータルなど。

私のポイントは、デバッグを通じて何かを理解したい場合は、最初に、デバッグしたいコードがどこで実行されているかを理解する必要があるということです。

複数の場所でデバッグを許可したり、アクセス許可を付与したりする必要がある場合があるため、これを知ることは重要です。

例:

  • Windows ADデバッグユーザー(自分で追加)
  • クライアントでのデバッグを許可する
  • サーバーで許可する
  • MorphXを使用する場合は、ILを無効にします。それ以外の場合は、VSでプロセスをアタッチします。
  • World Wide WebPublishingServiceがEPのデスクトップと対話できるようにします。

最後に、今すぐaxを使用し始めています。おそらく、AX7(Dynamics 365 for Operations)を使用する必要があります。このバージョンのシステムは、VisualStudioでのみ機能します。それはまだx++ですが、VSが提供するものはたくさんあります。

于 2016-10-27T15:16:48.890 に答える
0

EditorScriptsクラスを見てください。AXEditorでは、右クリックして[スクリプト]を選択して使用できます。これは、自分で作成できる一種のインテリセンスです。たとえば、「mycom」と入力して「tab」を押すたびに、インラインコメントが表示されます。

public void template_flow_mycom(Editor editor)
    {
        xppSource   xppSource   = new xppSource(editor.columnNo());
        int         currentline = editor.currentLineNo();
        int         currentcol = editor.columnNo();

        Source      template = "//Partner comment "+date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll )+" at "+time2str(timenow(), 1, 1)+" by MAX - Begin\n";
        template+=strRep(" ", currentcol)+ "\n";
        template+=strRep(" ", currentcol)+ "//Partner comment "+date2str(today(),123,2,1,3,1,4, DateFlags::FormatAll )+" at "+time2str(timenow(), 1, 1)+" by MAX - End\n";

        editor.insertLines(template);
        //move cursor to the empty line between the comments
        editor.gotoLine(currentline+2);
        editor.gotoCol(currentcol+4);
    }
于 2016-07-20T02:17:10.040 に答える