グローバル警告の生成をカスタマイズする
警告は、4D開発者に潜在的なコードミスを警告するための貴重なツールです。4D 20 R6のリリースでは、どの警告を発生させるかをグローバルに定義できるようになり、全体的な開発エクスペリエンスが向上しました。 ...
実用的なパターンと技術的な詳細解説をブログから活用して、より優れた4Dアプリケーションを構築します。
警告は、4D開発者に潜在的なコードミスを警告するための貴重なツールです。4D 20 R6のリリースでは、どの警告を発生させるかをグローバルに定義できるようになり、全体的な開発エクスペリエンスが向上しました。 ...
データへのアクセスをフィルタリングする強力な機能は、アプリケーションへの悪意あるアクセスを防ぐために不可欠です。 この機能は、データに対する特定のアクションを許可する権限を利用します。これらの権限は、ロールの形でユーザーに割り当てられ、認証時にSession オブジェクトに保存されます。 4D...
ユーザーフォームは、その名の通り、ユーザーにとって使いやすいことが全てです。しかし、サブフォームとそのコンテンツの間でスクロールの主導権が争われるようなことになったらどうなるでしょうか?つまり、サブフォーム内のリストボックスをスクロールしようとすると、サブフォーム全体が動いてしまう。あるいは、サブフ...
埋め込みWebエリアはWebブラウザエンジンとしてCEFを利用しているため、エリアの初期化中に、自動再生ポリシースイッチのような、追加のCEFスイッチを組み込む方法を求める声が以前からありました。 4D 20 R6からは、パラメータファイルを使うことでカスタムのパラメータを管理できます。 ...
オブジェクトは4DランゲージとQodlyにとって不可欠なものとなりました。 しかし、このタイプの変数を宣言するときは、実際には参照を定義していることになります。では、2つのオブジェクトが実際には1つで、同じ参照を共有しているかどうかを知るにはどうすればいいのでしょうか? 4D 20 R6から、オ...
これは誰もが遭遇した問題かもしれません。ユーザーのために、エンティティセレクションを表示する素敵なインターフェースをデザインしたとします。ユーザーはエンティティを削除して表示を絞り込むことができますが、その後には削除したエンティティがあった場所に空のスペースが現れてしまいます。 この場合、どうした...
コンポーネントの開発者は、他の既存コンポーネントのクラスを利用する必要が頻繁にあります。 4D 20 R6 では、宣言された名前空間を持つコンポーネントのクラスは、ホストプロジェクトにロードされたすべてのコンポーネントから、cs.namespace を介してアクセスできるようになりました。 ...
最近、権限と ds.authentify 関数によって REST API へのアクセスを制御する、強制ログインモードを新しく提供しました。このブログ記事で説明されているとおり、この機能は、これまで利用可能だった認証メカニズムよりもはるかに多くのことを提供します。 4D 20 R6 では、強制ログイ...
クライアント/サーバー、Web、モバイルなど、様々なセッションタイプのストレージには情報を保存できるため、異なるプロセス間での再利用が簡単におこなえます。 4D 20 R6 では、特定のセッションのストレージにアクセスできるようになりました。この機能強化により、複数のセッションにまたがる同一ユーザ...
4D 19 R6 では、HTTPクライアントコマンドの構文を近代化し、機能を強化するために、HTTPクラスを導入しました。これをベースに、4D 20 R6 では強力な新機能を追加しました: HTTPエージェントの登場です。これらのエージェントは、HTTPリクエストの接続の持続性と再利用を管理すること...