問題タブ [dwscript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
delphi - TdwsUnitを暗黙的に使用する
TDelphiWebScriptオブジェクトをTdwsUnitのScriptプロパティに割り当てるだけで、暗黙的に使用できますか?(スクリプトで使用するために追加する必要はありません)
delphi - DWScript ベースタイプの効率
DWScript の限られた量の基本型は非常に便利ですが、多くのオーバーヘッドが追加されるわけではありません。整数が Int64 であることを考えると、たとえばバイト値を扱う場合、これはかなりのオーバーヘッドになるはずです。DWScript はこれを内部的に最適化しますか? そうでない場合、言語拡張機能を使用して他のベースタイプを追加する方法はありByte
ますか?
これが型推論で問題を引き起こす場合、言語拡張機能でこれを処理できる場合は、整数値の推論をメインのInteger
型に延期するか、拡張機能によって処理して、たとえば最小の適切なデータ型を選択することができます。
delphi - DWScript で Delphi からオーバーロードされたメソッドを呼び出す
エンジンに含まれるdwsDatabaseLibModule.pas
ユニットでは、クラスのコンストラクタは、TProgramInfo.Vars[] を介してクラスにアクセスすることによって呼び出されます。同様に、オーバーロードされたメソッドを同じ方法で呼び出すことができると考えていました: info.Vars['TMyClass'].Method['MethodName'].Call
.
そこで IInfo.Method プロパティを使用すると、オーバーロードされたメソッドをどのように区別できますか?
delphi - Delphi アプリケーションのプラグイン フレームワークとして dwscript を使用する
Delphi アプリのプラグイン フレームワークとして dwscript を使用する方法はありますか? たとえば、数値を加算する dwscript の単純なメソッドがあり、これをホスティング アプリケーションから呼び出す必要があります。
1 つの解決策は、dwscript をテキスト ファイルのままにして、実行時にテキスト ファイルをロードし、ホストからメソッドを呼び出すことです。dwscript を含む dll を作成し、実行時に dll をロードしてからメソッドを呼び出す方法はありますか?
delphi - DLL をロード/アンロードし、Delphi DWScript によって実行されるスクリプト内でそのメソッドを使用する方法
こんにちは、Delphi DWScript に基づくプラグインが存在する可能性のあるスクリプト インターフェイスを作成したいので、スクリプト内の DLL の読み込み/バインドに関する質問です。これらのプラグインの一部は、DLL にプラグインに含まれる関数を使用させる可能性があります。DWScript は、スクリプト内で呼び出された DLL をロードする準備ができていますか?
メソッド宣言のステートメントを使用して、メソッドを既に実装しているかLoadLibrary
、GetProcAddress
(動的読み込み)、またはメソッドを静的にバインドしているかを考えていました。lib <dllname> [alias <aliasname>]
TMS Scripter、paxScript、paxCompiler などの他のスクリプト メカニズムは、この機能をすでに管理しています。
delphi - DWScript の OnFastEval イベントで結果データ コンテキストを取得する
TDWSUnit 関数の OnFastEval イベントで結果値の IDataContext を取得するにはどうすればよいですか?
OnFastEval イベントによって提供される "マジック関数" 機能は、レコードなどの複雑なデータを返すことはできません。OnFastEval は Variant を返すためです。内部マジック関数は、IDataContext インターフェイスを使用して複雑なデータを返すことをサポートしています。
delphi - dwsscript 無効なオペランド
RTTIVariable 型を使用して dws スクリプトをコンパイルすると、「無効なオペランド」というコンパイル エラーが発生します。以下で動作する可能性はありますか?
フォームである変数を宣言します。
スクリプトは、この行ではコンパイルされません。文字列のみが必要なようです。
すべての助けに感謝