|
RemObject Pascal Script 在WINCE下运行不正常,WIN32下编译运行都正常,改到WINCE下编译通过,运行时错误。
代码如下:
unit Unit1;
{$mode objfpc}{$H+}
interface
uses
Classes, SysUtils, FileUtil, uPSComponent, uPSComponent_Default,
uPSComponent_DB, uPSComponent_Forms, uPSComponent_Controls,
uPSComponent_StdCtrls, Forms, Controls, Graphics, Dialogs, StdCtrls;
type
{ TForm1 }
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
PSImport_Classes1: TPSImport_Classes;
PSImport_Controls1: TPSImport_Controls;
PSImport_DateUtils1: TPSImport_DateUtils;
PSImport_DB1: TPSImport_DB;
PSImport_Forms1: TPSImport_Forms;
PSImport_StdCtrls1: TPSImport_StdCtrls;
PSScript1: TPSScript;
procedure Button1Click(Sender: TObject);
procedure PSScript1Compile(Sender: TPSScript);
private
{ private declarations }
public
{ public declarations }
procedure DoExte(const VV : longint);
end;
var
Form1: TForm1;
implementation
{$R *.lfm}
{ TForm1 }
procedure TForm1.Button1Click(Sender: TObject);
var
I : Integer;
begin
PSScript1.Script.Clear;
PSScript1.Script.Add('begin');
PSScript1.Script.Add(' DoExte(10);');
PSScript1.Script.Add('end.');
if PSScript1.Compile then begin
Memo1.Lines.Add('Compiled OK.');
if PSScript1.Execute then
Memo1.Lines.Add('Execute OK.')
else
Memo1.Lines.Add('Execute Error.');
end
else begin
Memo1.Lines.Add('Compiled Error.');
for I := 0 to PSScript1.CompilerMessageCount - 1 do
Memo1.Lines.Add(PSScript1.CompilerErrorToStr(I));
end;
end;
procedure TForm1.PSScript1Compile(Sender: TPSScript);
begin
if Sender.AddMethod(Self,@TForm1.DoExte,'procedure DoExte(const VV: longint);') then
Memo1.Lines.Add('Add Method.');
end;
procedure TForm1.DoExte(const VV: longint);
begin
Memo1.Lines.Add('Return Value : '+IntToStr(VV));
end;
end.
请高手指点下,谢谢。
|
|