Как передать в скрипт переменные и объект
Документацию читал, сразу говорю. Но она у Вас слишком коротко написана. Уважаемые, без обид, но не все профи как Вы, тем более вы разработчики.
Я только только начинаю с этим разбираться и вопросов много, Думаю скажу от лица всех пользователей, что примеров маловато, жедательно добавить, причём посложнее, например тоже передача переменных в скрипт, массивов, объектов, новых типов...
Извините за лирическое отступление. Теперь вопрос.
переделал Ваш скрипт:
void OK(string s)
{
ShowMessage(s);
}
{
ar = IntToStr(iTest);
s = "";
s += ar;
OK(s);
}
И из вашего примера С++Demoы хочу в этот скрипт передать переменную.
В обработчике нажатия кнопки Run пишу так
int iTest = 10;
fsScript1->AddVariable("iTest", "Integer", &iTest);
при выполнении скрипта выдаёт ошибку, что переменная iTest не определена.
Как тогда её туда передать.
Вопрос ламерский, знаю, не ругайтесь, Please.
Большое спасибо.
Если можете (не жалко) киньте на мыло примерчики.
Я только только начинаю с этим разбираться и вопросов много, Думаю скажу от лица всех пользователей, что примеров маловато, жедательно добавить, причём посложнее, например тоже передача переменных в скрипт, массивов, объектов, новых типов...
Извините за лирическое отступление. Теперь вопрос.
переделал Ваш скрипт:
void OK(string s)
{
ShowMessage(s);
}
{
ar = IntToStr(iTest);
s = "";
s += ar;
OK(s);
}
И из вашего примера С++Demoы хочу в этот скрипт передать переменную.
В обработчике нажатия кнопки Run пишу так
int iTest = 10;
fsScript1->AddVariable("iTest", "Integer", &iTest);
при выполнении скрипта выдаёт ошибку, что переменная iTest не определена.
Как тогда её туда передать.
Вопрос ламерский, знаю, не ругайтесь, Please.
Большое спасибо.
Если можете (не жалко) киньте на мыло примерчики.
Комментарии
int iTest = 10;
fsScript1->AddVariable("iTest", "Integer", iTest);
Показалось что DELPHI а не BORLAND.
int iTest = 10;
fsScript1->AddVariable("iTest", "int", &iTest);
У тебя примерчик какой-нить есть? Прислать можешь?
Подскажите что я не так делаю
Написано в Builder 6.
char mas[10];
strcpy(mas, "Test");
Script->Clear();
Script->Parent = fsGlobalUnit();
Script->AddVariable("Test", "Char", mas);
Script->Lines->Text = "{ ShowMessage(mas); }";
Script->SyntaxType = "C++Script";
if(Script->Compile())
Script->Execute();
else
MessageBox(NULL, Script->ErrorMsg.c_str(), "Îøèáêà", MB_OK);
Для примера: Конечно с Variant дело обстоит иначе.
Я уже думал что схожу с ума(совсем меня запутали)
P.S.
Говоря о примерах их можете взять Здесь.
Можете прислать примерчик?
P.S.
У вас мои примеры работают?
strcpy(mas, "Test");
Script->Clear();
Script->Parent = fsGlobalUnit();
Script->AddVariable("Test", "Char", mas);
Script->Lines->Text = "{ ShowMessage(mas); }";
Script->SyntaxType = "C++Script";
if(Script->Compile())
Script->Execute();
else
MessageBox(NULL, Script->ErrorMsg.c_str(), "Îøèáêà", MB_OK);
Просто пытаюсь передать в скрипт массив и вывести его на экран. Дурь конечно... но это отработка передачи в скрипт переменных. Твои примеры сейчас посмоторю
Если хотите передать массив то попробуйте так
Script->AddVariable("Test[10]", "сhar", mas);
И ещё вопрос а передать объект своего класса можно?
Нефига не получается.ю ТАма походу дела можно только производные от TOblect! Или я ошибаюсь????
Можно примеры и на делфи. Выкладывай
Завтра выложу .
Так что на счёт моего предположения относительно обязательности быть производным от TObject
?????
class MyClass
{
....
}
А что здесь такого. Я Вас что-то не понял.
Но только как объект такого класса передать в скрипт?!
P.S.
Ещё рекомендую просмотреть вот этот топик:
AddClass и AddObject, Проблемы при добавлении своего класса
Script->AddObject("Form1", Form1);
ТАк нефига не получается.
Тоьлко всё равно ничего не получилось... Определил я в TForm1 в public переменную но в скрипте она всё равно не доступна...