Windows 7 の環境で Delphi 2010 に RemObjects Pascal Script をインストールしてみる
Windows 7 の環境で、Delphi 2010 に RemObjects Pascal Script をインストールして使ってみました。
RemObjects Pascal Script とは、Delphi で作ったアプリケーションに、Pascal 形式のスクリプト実行機能を追加できるコンポーネントです。
次の画像の様に、自分で書いたスクリプトを実行することができます。
とりあえずダウンロードします。
2010/03/02 版は Delphi 2010 をサポートしています。
インストールは、ダウンロードしたバイナリを実行すれば問題ありません。
ただし、コンポーネントを初めて使う際、Program Files 下にインストールされたプロジェクトファイルをコンパイルするため、Windows Vista/7 の一般ユーザで動作させた Delphi 2010 では、ファイルが書き込めないことが原因で致命的エラーが発生します。
回避策としては、Pascal Script のプロジェクトのバイナリ出力先を変更するか、管理者権限で Delphi 2010 を動かすことになるかと思います。
自分は後者を選択しました。
スタートメニューから実行する際、シフトキーを押しながら右クリックし、「管理者として実行」を選択します。
*
これ以降は、本家の記事を元に書きました。
ソースを入力する用の TMemo、実行イベント用の TButton、今回のメイン コンポーネントである TPSScript を配置します。
で、このサンプルでは Delphi の ShowMessage() を、Pascal Script から呼び出す機能を作っています。
手順としては次の通り。
- Delphi 側で呼び出される関数(ShowNewMessage())を作成
- TPSScript コンポーネントに呼び出す関数を登録(ShowNewMessage())
あとは、TPSScript.Execute するだけです。
実際のコードです。
-
Delphi 側で呼び出される関数(ShowNewMessage())を作成
[code lang=’delphi’] procedure TForm1.ShowNewMessage(const Message: string);
begin
ShowMessage(‘ShowNewMessage invoked:’#13#10 + Message);
end;
[/code] -
TPSScript コンポーネントに呼び出す関数を登録(ShowNewMessage())
[code lang=’delphi’] procedure TForm1.PSScript1Compile(Sender: TPSScript);
begin
Sender.AddMethod(
Self,
@TForm1.ShowNewMessage,
‘procedure ShowNewMessage(const Message: string);’
);
end;
[/code]
Delphi で作成した ShowNewMessage() を Pascal Script から呼べるように、TPSScript の Compile イベント内で AddMethod() していることが読み取れます。
準備ができたら、ボタンをクリックした際に Memo1 内に書かれたスクリプトが実行されるようにイベントハンドラを記述します。
ボタンのイベントハンドラ
[code lang=’delphi’]
procedure TForm1.Button1Click(Sender: TObject);
begin
PSScript1.Script.Text := Memo1.Lines.Text;
if PSScript1.Compile then begin
PSScript1.Execute;
end else begin
ShowMessage(‘error’);
end;
end;
[/code]
Memo1 に書いた、Pascal Script
[code lang=’delphi’]
begin
ShowNewMessage(‘This is it!’);
end.
[/code]
参考までに、このプロジェクトの宣言部を残しておきます。
[code lang=’delphi’]
type
TForm1 = class(TForm)
PSScript1: TPSScript;
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
procedure PSScript1Compile(Sender: TPSScript);
private
{ Private 宣言 }
public
procedure ShowNewMessage(const Message: string);
{ Public 宣言 }
end;
[/code]
以上でおしまいです。
自分のアプリケーションにスクリプト機能を追加できるというのは、なかなか面白いですね。
なお、同じ PC にインストールしている Delphi 2007 にも同時にインストールされました。
10年集客し続けられるサイトを、ワードプレスで自作する9つのポイント プレゼント
あなたは、24時間365日、自分の代わりに集客し続けてくれるWebサイトを作りたい!と思ったことはありませんか?
私はこれまで500以上のWebサイトの構築と運営のご相談に乗ってきましたが、Webサイトを作ってもうまく集客できない人には、ある一つの特徴があります。
それは、「先を見越してサイトを構築していないこと」です。
Webサイトで集客するためには、構築ではなく「どう運用するか」が重要です。
しかし、重要なポイントを知らずにサイトを自分で構築したり、業者に頼んで作ってもらってしまうと、あとから全く集客に向いていないサイトになっていたということがよく起こります。
そこで今回、期間限定で
『10年集客し続けられるサイトをワードプレスで自作する9つのポイント』
について、過去に相談に乗ってきた具体的な失敗事例と成功事例を元にしてお伝えします。
・ワードプレスを使いこなせるコツを知りたい!
・自分にピッタリのサーバーを撰びたい!
・無料ブログとの違いを知りたい!
・あとで悔しくならない初期設定をしておきたい!
・プラグイン選びの方法を知っておきたい!
・SEO対策をワードプレスで行うポイントを知りたい!
・自分でデザインできる方法を知りたい!
という方は今すぐ無料でダウンロードしてください。
期間限定で、無料公開しています。
※登録後に表示される利用条件に沿ってご利用ください
こんにちは。私も試してみました。
[Delphi XE Starter Edition で スクリプト言語 Pascal Script for Delphi を試す]
http://blogs.embarcadero.com/teamj/2011/02/15/1758/
>Tomohiro Takahashiさん
コメントありがとうございます。
XEの記事、Twitterで出てたのですぐ読みました!
良いですよね~