Delphi Prismの関係でRemObjectsのWEBサイトを見たところPascal Scriptが
Freeと書いてあったのインストール。
Delphi2009にインストールしてみたけど、コンパイルエラーが・・・
内容を良く調べてみるとUnicode化に伴うエラーコードっぽい。
自分の手ではちょっと直しようがないので(パーサー周りポインターが
多くなるのでちょっとつらいかな?)とりあえずDelphi 2007で試用
サンプルは右図のメモにコードを入力して、結果をラベルに表示する簡単なものです。
ソースコードは、こんな感じ。
unitUnit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, uPSComponent;type
TForm1 =class(TForm)
Memo1: TMemo;
Button1: TButton;
Label1: TLabel;
PSScript1: TPSScript;
procedureButton1Click(Sender: TObject);
procedurePSScript1Compile(Sender: TPSScript);private
{ Private declarations }
procedureDsWrite(s:string);public
{ Public declarations }end;var
Form1: TForm1;implementation{$R *.dfm}procedureTForm1.Button1Click(Sender: TObject);begin
Self.PSScript1.Script.Assign(Self.Memo1.Lines);
Self.PSScript1.Compile;
Self.PSScript1.Execute;end;procedureTForm1.DsWrite(s:string);begin
Label1.Caption := s;end;procedureTForm1.PSScript1Compile(Sender: TPSScript);begin
Sender.AddMethod(Self,@TForm1.DsWrite,'procedure Writeln(s: string);');end;end.
Pascal ScriptのコンパイラとDelphiのコードを結びつけることができるので
以外に応用範囲が広いかも・・・・
また、上の例ではやってないが、Pascal Scriptでコンパイル済みのストリーム
データの読み書きもできるので、自作のアプリケーションにちょっとした演算を
組み込むには便利かも?
もうちょっと深く突っ込んでみよう。
0 件のコメント:
コメントを投稿