Доброго времени суток.
Имеется JavaScript. Из-за большого объёма скрипта, перевести его на делфийский язык не представляется возможным.
Решил его пользовать через Microsoft ScriptControl 1.0.
Делаю следующим образом.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
ScriptControl: TScriptControl;
pPar:PSafeArray;
varr,res:Variant;
pkBaseURL: String;
Script, LineScript: String;
ScriptFile: TextFile;
begin
AssignFile(ScriptFile,'piwik.js');
Reset(ScriptFile);
if IOResult <> 0 then
begin
MessageBox(0,'Ошибка доступа к файлу.','ОШИБКА',0);
exit;
end;
// чтение из файла
while not EOF(ScriptFile) do
begin
readln(ScriptFile, LineScript); // прочитать строку из файла
Script := Script + LineScript+#13+#10;
end;
Memo1.Text := Script;
CloseFile(ScriptFile);
ScriptControl := TScriptControl.Create(Self);
ScriptControl.Language := 'JavaScript';
ScriptControl.AddCode(Script);
varr:=VarArrayCreate([0, 1], varVariant);
pkBaseURL := 'http://piwik.rehcusebe.ru/';
varr[0]:= pkBaseURL + 'piwik.php';
varr[1]:=1;
pPar:=PSafeArray(TVarData(varr).VArray);
res:=ScriptControl.Run('Piwik.getTracker',pPar);
ShowMessage(res);
FreeAndNil(ScriptControl);
end;
В момент отработки строчки кода
Код:
ScriptControl.AddCode(Script);
Выдаёт ошибку. Посмотреть можно на вложенном изображении.
Так же выкладываю архив сo скриптом. И им же самым, только после приведения кода в божеский вид в формате *.docx.
Прошу подсказать, в чём проблема ? Как и где надо задать определение ?