問題タブ [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 - dwscript を使用して CreateOleObject 関数を呼び出す方法
dwscript 内からこのコードを実行しようとしています (これは CreateOleObject を使用するための最小限のサンプルです)。
これまでのところ、私はこれを試しました
しかし、私はこのエラーメッセージを受け取っています
構文エラー: 不明な名前 "CreateOleObject" [行: 5、列: 8]
問題は、CreateOleObject
dwscript を使用して関数を実行する方法です。
アップデート
リナスの提案に従って、ようやく問題を解決できました。
これはサンプル作業アプリケーションです
delphi - DWSScript のインストール方法
DWSScript コンポーネントのインストールに問題があります。Delphi XE2 を使用していますが、dwsLibRuntime.dpk をコンパイルしようとするとエラーが発生します (Array type required )。プロジェクトの svn リポジトリから取得した最新の DWScript ソースを使用しています。
私は何を間違っていますか?
delphi - delphiDWScript-scriptruntimeでタイプTObjectのスクリプト変数値を変更します
私はこのようなDWScriptを持っています
TOutputter(複雑なクラスの単なる例です)は、デルファイコードで宣言および作成され、Rttiを介してDWScriptに公開されます。
コンパイルされたスクリプトをいくつかのインスタンスに使用したいのですが、現在のインスタンスにリンクする値Outputterを変更します。次のコマンドでスクリプト変数にアクセスできることを知っています。
ただし、値はVariantであるため、オブジェクトを割り当てることはできません。どうすれば値を変更できますか?私が最初に次のようなスクリプトでクラスを作成した場合:
Exec.Info.Vars ['Outputter']。ScriptObj.ExtObjectにTOutputterの任意のインスタンス(delphiコードで作成)を割り当て、Outputterを介してスクリプトコードでそれらにアクセスできます。しかし、私はinit部分なしでTOutputterのデルファイコードで作成されたインスタンスを割り当てたいと思います。
助けてくれてありがとう!
delphi - Dwscript Web サーバー
Web プログラミング (動的コンテンツの生成) に dwscript を使用したい。Apache Webサーバー用のモジュールがあるかどうか疑問に思っていましたか? または、dwscript に基づいて独自の Web サーバーを実行するにはどうすればよいですか?
delphi - TForm.Create(nil) を含む dwscript のコンパイル時のスタック オーバーフロー
dwscriptでモーダルフォームを作成しようとしています。フォームを ExposeRtti に登録してからスクリプトを実行しますが、Script.Compile 中に「スタック オーバーフロー」で失敗します。このエラーの解決策はありますか。
remobjects PascalScript の場合のように、TForm のすべてのプロパティと関数を手動で登録する必要がないように願っています。
dwscript はこれを行うことができますか、それともフォームは単に dwscript の範囲を超えていますか (この段階で?)?
delphi - delphiからparamとしてクラスを使用してdwscriptプロシージャを呼び出します
クラスをparamとして受け取るDWScriptプロシージャをdelphiから呼び出すにはどうすればよいですか?
元:
DWScript側:
Delphi側:
delphi - DWScriptはスレッドセーフですか?
一部のエンジンは内部データ構造へのアクセスを同期しないため、DWScriptがスクリプト内のスレッドを使用できるかどうかを知りたいです。
delphi - DWScript を 2 回実行するときに変数値を保持する方法はありますか?
私が取り組んでいるアプリケーションでは、スクリプト シンペットをドキュメントに埋め込むことができます。例えば:
結果
DWScript を使用しています。内部的には、最初のスクリプト スニペットがコンパイルおよび実行されます。次は RecompiledInContext であり、実行されます。スニペットで宣言された関数/変数/etc は、それ以降のすべてのスニペットで使用可能になります。ただし、変数値はスニペット間で失われます。例えば:
ドキュメントの生成後:
この問題を説明するサンプル アプリケーションを次に示します。
実行間で変数値を「転送」または「保持」する方法はありますか?
これは、機能しないアンドリューの回答の更新されたコードです。
delphi - TdwsProgram のシリアル化
私が理解しているように、DWScript
スクリプトを中間バイトコードにコンパイルしません。
ただし、「コンパイルされた」スクリプトを保存して、ストリームを介して送信したり、ファイルに保存したりしたいと考えています。
私は疑問に思っていました:オブジェクトをシリアル化する方法はありますか?TdwsProgram
私はどこにも答えを見つけることができませんでした。コードを調べたところ、それは不可能のようですが、とにかく質問する必要があると思いました...
delphi - DWScriptのインストール
XE2にDWScriptをインストールしようとしていますが、苦労しているようです。最新のインストール手順が見つかりません。見つけた古い手順は適用できなくなったようです。
私はsvnリポジトリからのヘッドと、以前のリリースの1つとの両方を試しましたが、どちらもあまりうまくいきませんでした。
ライブラリパスにソースディレクトリを追加しました。
dwsLibを最初に開いたとき、コンパイルされているように見えますが、TdwsUnitが見つかりませんというメッセージが表示されました。dwsLibDesignOnlyとdwsLibRuntime.dpkの両方に、欠落しているdwsCodeGenに関するエラーがあり、ライブラリにJSCodeGenディレクトリ全体が存在するはずですが存在しないようです。
どんな助けでも大歓迎です。
ありがとう、
リチャード