私はDelphi 10.1 Berlin Update 2 EnterpriseとDataSnapクライアント/サーバーRESTフレームワークを使用しています。Delphi Datasnapクライアントコードが不正な例外を受け取りません
デバッグせずにアプリケーションを実行し、呼び出される権限がないメソッドを呼び出すと、コードは例外なく実行され、メソッドはnull応答を返します。
クライアントがDataSnapサーバーメソッドに対して対話的にデバッグすると、「承認されていません」という2つのポップアップ例外が発生します。
最初のバブルは上になり、2番目のバブルは上に置き換えられます。
2番目の例外は "eaten"となり、セッション/接続は単に閉じられ、メソッドは空の結果を返します(戻り値の型が整数の場合はゼロ、文字列戻り値の場合は空の文字列)。
これはDatasnap.DSClientRest単位でExecuteRequest方法の終わり近くに、コードの次のセクションで起こっている:
except
on E: TDSRestProtocolException do
LSessionExpired;
end;
は、これらの例外(例えばTDSRestProtocolExceptionは)私のコードに到達していないのはなぜ?
私は一種の、これは2を更新するために、新しいだと思う、と私は2
Attachedが示す(Delphiのウィザードによって生成された標準例)スケルトンの例で更新するように前に私のコードにこれらの例外バブルを見て覚えています問題は - ボタンをクリックすると、ユーザーが許可されていないために "4321"ではなく ""が表示されますが、実行時例外はありません。
私は=のDataSnapに新たなんだ、そう役立つ回答を事前に
感謝:-)私と一緒にクマ)
NOTEこのfunctnを呼び出そうTモジュール(http)ではなく、単純なTCP/IPクライアントDataSnapモジュールを使用します。 –