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