Форум: "Начинающим";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
ВнизВыполнение кода Delphi, приведенного в качестве аргумента Найти похожие ветки
← →
Morrah (2007-10-31 09:49) [0]Подскажите, есть ли в Delphi команда, позволяющая выполнить кусок кода, написанный на том же ObjectPascal, но приведенный в виде строки?
Примерно что-нибудь вроде
Execute("MyObject.Myproperty"+".MyProperty.MyMethod;")
Заранее спасиббо.
← →
Рамиль © (2007-10-31 09:57) [1]Нет.
← →
BATTLE_MAX © (2007-10-31 09:59) [2]Нет сынок, это фантастика...
← →
MBo © (2007-10-31 10:04) [3]цель какая?
← →
Ega23 © (2007-10-31 10:15) [4]
> Подскажите, есть ли в Delphi команда, позволяющая выполнить
> кусок кода, написанный на том же ObjectPascal, но приведенный
> в виде строки?
Можно всё. Вопрос во времени реализации.
← →
Riply © (2007-10-31 10:19) [5]> [4] Ega23 © (31.10.07 10:15)
> Можно всё. Вопрос во времени реализации.
Ну не так уж и долго :)
← →
Alkid © (2007-10-31 11:00) [6]Собственно говоря, готовых решений, позволяющих исполнять динамически сгенерироанный Delphi-код я не знаю, но есть целая куча различных скриптовых движков, позволяющих встраивать в программы интерпретаторы разных языков. Навскидку: lua, JavaScript, VBS, Lisp.
С другой стороны, если автор задаёт такой вопрос, значит он новичок и не пишет какой-то большой программы, где применение такой тяжёлой артиллерии оправдано. Вывод - он пытается найти решение для задачи, для которых есть норальные не-скриптовые решения, просто он о них не знает.
Автор, лучше изложи предметную проблему.
← →
Ega23 © (2007-10-31 11:01) [7]
> Навскидку: lua, JavaScript, VBS, Lisp.
Проще. Pascal-script :)
← →
Skyle © (2007-10-31 11:15) [8]
> Ega23 © (31.10.07 11:01) [7]
> > Навскидку: lua, JavaScript, VBS, Lisp.
> Проще. Pascal-script :)
Ещё проще: dcc32.exe :)
← →
Alkid © (2007-10-31 11:21) [9]
> Проще. Pascal-script :)
Сказать по правде, не слышал о таком :)
> Ещё проще: dcc32.exe :)
Для этого надо на компе иметь его :) Либо тащить с собой.
← →
Morrah (2007-10-31 12:18) [10]
> Автор, лучше изложи предметную проблему.
Излагаю.
В программе имеется переменная v1C типа OleVariant, инициализированное OLE-приложение 1C:Предприятие 8.0
Требуется получить объект типа, скажем, СправочникМенеджер.ИмяСправочника, где ИмяСправочника Name типа String перебирается в цикле.v1C.Catalogs.Name
-естественно, не работает.
v1C.Catalogs[Name]
← →
Morrah (2007-10-31 12:22) [11]Добраться до справочника, скажем, через типы (есть такой метод "ПривеситЗначение" у типа "ОписаниеТипов") тоже не получается, ибо метод гл. контекста 1С "Тип", возвращающий значение типа "Тип" по его строковому описанию и потребный для создания "Описания типов", в режиме OLE недоступен.
← →
Alkid © (2007-10-31 13:29) [12]Автор, кури про COM, OLE и IDispatch. Про последнее особенно.
Почти все вызовы OLE-объектов производятся через IDispatch, в котором указание, что вызывать, как и параметры вызова, передаётся как раз в виде аргумента. Кроме того, IDispatch позволяет перечислять доступные для вызова/обращения методы/пропертя объекта.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.11.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.047 c