unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, PaxProgram, PaxCompiler, StdCtrls, PaxRunner;type
TForm1 = class(TForm)
Button1: TButton;
PaxCompiler1: TPaxCompiler;
PaxPascalLanguage1: TPaxPascalLanguage;
PaxProgram1: TPaxProgram;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TDynArraya = array of String ;
var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
H_range,H_S,i: Integer;
tmeps,me:STRING;
TDynArray:TDynArraya;
begin
SetLength(TDynArray,2);
me:='';
tmeps:='TDynArray[0]:='+'''nihAAoa!''';
PaxCompiler1.Reset;
PaxCompiler1.RegisterLanguage(PaxPascalLanguage1);
H_range:=PaxCompiler1.RegisterVariable(0,'TDynArray',24);
H_S:=PaxCompiler1.RegisterDynamicArrayType(0,'TDynArray',24);
//H_range := PaxCompiler1.RegisterVariable(0, 'TDynArray', H_S, @TDynArray);//H_S:=PaxCompiler1.RegisterVariable(0,'me',5);
PaxCompiler1.AddModule('1', PaxPascalLanguage1.LanguageName); //添加PAX模块
//PaxCompiler1.AddCode('1', 'var TDynArray: TDynArraya;'); //添加代码
PaxCompiler1.AddCode('1', 'begin');
PaxCompiler1.AddCode('1',tmeps); PaxCompiler1.AddCode('1', 'end.'); if PaxCompiler1.Compile(PaxProgram1) then
begin
PaxProgram1.Run;
showmessage(TDynArray[0]);
end
else
for I:=0 to PaxCompiler1.ErrorCount do
ShowMessage(PaxCompiler1.ErrorMessage[I]);
end;
end.试了N次,都搞不懂怎么注册和调用数组及动态数组。有懂的朋友望指点下。
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, PaxProgram, PaxCompiler, StdCtrls, PaxRunner;type
TForm1 = class(TForm)
Button1: TButton;
PaxCompiler1: TPaxCompiler;
PaxPascalLanguage1: TPaxPascalLanguage;
PaxProgram1: TPaxProgram;
Button2: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
type
TDynArraya = array of String ;
var
Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
var
H_range,H_S,i: Integer;
tmeps,me:STRING;
TDynArray:TDynArraya;
begin
SetLength(TDynArray,2);
me:='';
tmeps:='TDynArray[0]:='+'''nihAAoa!''';
PaxCompiler1.Reset;
PaxCompiler1.RegisterLanguage(PaxPascalLanguage1);
H_range:=PaxCompiler1.RegisterVariable(0,'TDynArray',24);
H_S:=PaxCompiler1.RegisterDynamicArrayType(0,'TDynArray',24);
//H_range := PaxCompiler1.RegisterVariable(0, 'TDynArray', H_S, @TDynArray);//H_S:=PaxCompiler1.RegisterVariable(0,'me',5);
PaxCompiler1.AddModule('1', PaxPascalLanguage1.LanguageName); //添加PAX模块
//PaxCompiler1.AddCode('1', 'var TDynArray: TDynArraya;'); //添加代码
PaxCompiler1.AddCode('1', 'begin');
PaxCompiler1.AddCode('1',tmeps); PaxCompiler1.AddCode('1', 'end.'); if PaxCompiler1.Compile(PaxProgram1) then
begin
PaxProgram1.Run;
showmessage(TDynArray[0]);
end
else
for I:=0 to PaxCompiler1.ErrorCount do
ShowMessage(PaxCompiler1.ErrorMessage[I]);
end;
end.试了N次,都搞不懂怎么注册和调用数组及动态数组。有懂的朋友望指点下。
解决方案 »
- delphi下标操作符([])
- adoquery2做adoquery1的子查询access库
- 如何动态设置access字段“是否允许空字符串”为真
- ServerSocket和ClientSocket简单的问题
- 如何才能提高级别散分呀我的分数太多了
- FastReprt怎样实现页汇总数据
- 本人用Delphi写了个程序,想用B5的纸打印,但是打印出来的还是A4的样式,请问这是为什么??
- ◆◆◆求一个自写组件源码例 程。
- 制作安装文件,再现等待?
- 我用了VCLZIP但在编译是说[Error] File not found: 'kpZCnst.res',为什么?
- delphi从数据库读取出数据赋值给stringgrid速度慢
- 动态设置选择的字段然后执行SQL命令技巧求解
var
H_range, H_S, i: Integer;
tmeps, me: string;
TDynArray: TDynArraya;
begin
SetLength(TDynArray, 2);
TDynArray[0] := 'hello in delphi';
me := 'SetLength(TDynArray, 2);';
tmeps := 'TDynArray[0]:= ''Hello in script'';';
PaxCompiler1.Reset;
PaxCompiler1.RegisterLanguage(PaxPascalLanguage1);
H_S := PaxCompiler1.RegisterDynamicArrayType(0, 'TDynArraya', __typeSTRING);
H_range := PaxCompiler1.RegisterVariable(0, 'TDynArray', PaxCompiler1.LookupTypeId('TDynArraya'), @TDynArray);
PaxCompiler1.AddModule('1', PaxPascalLanguage1.LanguageName); //添加PAX模块 PaxCompiler1.AddCode('1', 'begin');
PaxCompiler1.AddCode('1', tmeps);
PaxCompiler1.AddCode('1', 'end.');
if PaxCompiler1.Compile(PaxProgram1) then
begin showmessage('执行前' + (TDynArray[0]));
PaxProgram1.Run;
showmessage('执行后' + (TDynArray[0]));
end
else
for I := 0 to PaxCompiler1.ErrorCount - 1 do
ShowMessage('错误信息' + PaxCompiler1.ErrorMessage[I]);
end;