unit Unit1;
interface
uses
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次,都搞不懂怎么注冊和呼叫陣列及動態陣列。有懂的朋友望指點下。
uj5u.com熱心網友回復:
未曾使用paxCOMPILER。關注。uj5u.com熱心網友回復:
procedure TForm1.Button1Click(Sender: TObject);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;
uj5u.com熱心網友回復:
謝謝你的回復,我在D10要指定__typeSTRING,但我填了24和7也不對,是什么原因?轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/87393.html
標籤:語言基礎/算法/系統設計
