Цитата Сообщение от Кулаков Андрей Посмотреть сообщение
Почему мы используем "using" в середине кода?
https://msdn.microsoft.com/ru-ru/library/yh598w02.aspx

Цитата Сообщение от Кулаков Андрей Посмотреть сообщение
На строчке "using (dynamic obj = Скрипт.CompileAndGetScriptObject(true))" компиляция выдаёт ошибку:
Установите текущую версию 3.8. Код измените на:
var Скрипт = (ScriptFB)HostFB.TreeItemHlp.Project.Item("Объект. DT.Test").FBObject; //получаем ссылку на первый скрипт
System.Reflection.Assembly tt;
using (dynamic obj = Скрипт.CompileAndGetScriptObject(out tt,true))
{
obj.DoAction();
}

Цитата Сообщение от Кулаков Андрей Посмотреть сообщение
bool? M = false; - гугл говорит, что "bool?" это тип, который может принимать значение NULL. Почему мы не используем тип "bool"?
Потому что входы могут иметь неопределенный тип - если значения на них нет.

Цитата Сообщение от Кулаков Андрей Посмотреть сообщение
1) HostFB.TreeItemHlp.Project.ErrorTracer.ReportError ("Ваша строка");
Сообщения будут выводится в лог скады. Для открытия окна лога нажмите красную кнопку в правом нижнем углу скады.
Работает только в режиме исполнения, не работает в режиме отладки.
У нас все работает.

Цитата Сообщение от Кулаков Андрей Посмотреть сообщение
2) using System.Windows.Forms;
MessageBox.Show("Ваша строка");
Работает только в режиме исполнения, не работает в режиме отладки.
Это вообще в режиме исполнения использовать нельзя. Только в режиме разработки.