Не запускается функция
Использую Delphi7. Решил воспользоваться FastScript , почитал документацию и получилось следующее:
procedure TForm1.DelphiFunc(s: String; i: Integer);
begin
ShowMessage(s + ', ' + IntToStr(i));
end;
//
function TForm1.CallMethod(Instance: TObject; ClassType: TClass; const
MethodName: String; var Params: Variant): Variant;
begin
DelphiFunc(Params[0], Params[1]);
end;
//
procedure TForm1.Button1Click(Sender: TObject);
begin
fsScript1.AddMethod('procedure DelphiFunc(s: String; i: Integer)',CallMethod);
fsScript1.Lines := Memo1.Lines;
fsScript1.SyntaxType := 'PascalScript';
fsScript1.Parent := fsGlobalUnit;
if fsScript1.Compile then
fsScript1.Execute else
ShowMessage(fsScript1.ErrorMsg);
end;
в мемо поле текст:
Begin
DelphiFunc('номер',1);
end.
Выдает ошибку Incompatible types: 'String', 'String'. В чем проблема?
procedure TForm1.DelphiFunc(s: String; i: Integer);
begin
ShowMessage(s + ', ' + IntToStr(i));
end;
//
function TForm1.CallMethod(Instance: TObject; ClassType: TClass; const
MethodName: String; var Params: Variant): Variant;
begin
DelphiFunc(Params[0], Params[1]);
end;
//
procedure TForm1.Button1Click(Sender: TObject);
begin
fsScript1.AddMethod('procedure DelphiFunc(s: String; i: Integer)',CallMethod);
fsScript1.Lines := Memo1.Lines;
fsScript1.SyntaxType := 'PascalScript';
fsScript1.Parent := fsGlobalUnit;
if fsScript1.Compile then
fsScript1.Execute else
ShowMessage(fsScript1.ErrorMsg);
end;
в мемо поле текст:
Begin
DelphiFunc('номер',1);
end.
Выдает ошибку Incompatible types: 'String', 'String'. В чем проблема?