質問

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

単純なコードの問題を解決することよりも、自分が書いたものではないコードに今後発生する可能性のある問題を解決する方法や、Visual Studio で 3 分で解決できるその他のこと、そしてこの世界で生き抜くためのヒントを学びたいと考えています。すべての Visual Studio ツールを使用しないダイナミクス斧。

役に立ちましたか?

解決

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

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

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

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

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

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

  1. メソッドinfo.add()の最初の行にブレークポイントを設定します。次に、メッセージを生成するコードを実行すると、Infologが生成されるとすぐにデバッガーに表示されます。その後、デバッガーのスタックトレースを見て、メッセージが生成されたコードがどこにあるかを確認できます。

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

他のヒント

http://www.axassist.com/ にはインテリセンスや他の多くを拡張したもあります< href = "http://www.axaptapedia.com/index.php/Extending_IDE" のrel = "nofollowをnoreferrer">エクステンション

彼らがすでに言ったことは非常に重要です 面白い そして 役立つ.

実際の AX 内では、おそらく複数のコンテキストを操作していることを付け加えておきたいと思います。例えばクライアントで実行されるコード、サーバーで実行されるコード、P コードおよび IL で実行されるコード、COM 統合、エンタープライズ ポータルなど。

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

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

例:

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

最後に 1 つ、あなたは今、axe を使い始めています。おそらく、斧を使って作業する必要があるでしょう。 AX7(Dynamics 365 for Operations)。このバージョンのシステムは動作します ビジュアルスタジオのみ. 。まだ x++ ですが、VS が提供するものはたくさんあります。

見てみましょう エディタスクリプト クラス、AX Editor上で右クリックして「スクリプト」を選択することで使用できます。これは、自分で作成できる一種のインテリセンスです。たとえば、次のようになります。これは、「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);
    }
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top