-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
В версии 1.8 сломался возврат результатов функций через COM #1376
Comments
В ветку 1.8 будет вливаться? |
ветка latest - это 1.х |
Киньте ссылку на установщик или архив с проблемной версией 1.9 |
Проверил на чистом движке ОСкрипт 1.9 (без Турбоконфа) по ссылке выше.
|
Данный тест в ТурбоКонф тоже работает, в таком варианте:
Если закомментировать Возврат - происходит ошибка: |
Строка 1130 такая: |
Объект "Турбоконф", как я понимаю, не объект движка. Смотреть надо в его веутренности и в реализацию метода ПолучитьЗаголовок... |
|
Не факт, что это именно эта строка. Т.к. мы выяснили, что иногда они не совпадают. Проверю отладчиком. |
Да, строка не та.
|
Если фактический параметр вызываемого COM метода имеет значение "Неопределено", то на чистом движке ОСкрипт 1.9 (без Турбоконфа) у меня то же возникает ошибка в тесте:
{Модуль C:\TerminalDisk\comtest.os / Ошибка в строке: 5 / Внешнее исключение (System.NullReferenceException): Ссылка на объект не указывает на экземпляр объекта.} |
@tormozit принял, посмотрю, что можно сделать. Спасибо за исследование. Но стоит понимать, что |
Т.к. этот же код работает в 1.7, то вроде шансы есть )) |
Тест @tormozit падает тут:
с исключением System.NullReferenceException: 'Ссылка на объект не указывает на экземпляр объекта.' initialValues[] was null. |
initialValues не может быть null, он создается перед вызовом всегда... Странно |
На самом деле initialValues[0]==null, но сообщение Студии именно такое. |
Да, уже починил |
Кажется, можно уронить и это исправление... |
В примере делаем
и получаем |
Ну это не совсем ошибка так-то... Null это же субд-шный литерал, отличный от Неопределено. И текст исключения честный |
Закрываю, кажется что худо-бедно, но исправлено. |
Опишите ошибку
сломался возврат результатов функций через COM видимо в процессе починки возврата значений параметров этих же функций
#1324
Воспроизведение ошибки
получаем ошибку
ScriptEngine.Machine.ExternalSystemException: {Модуль D:\Projects\TurboConf\TurboConf.HostApplication\bin\Debug\user_scripts\SampleCOM.os / Ошибка в строке: 119 / Внешнее исключение (System.NullReferenceException): Ссылка на объект не указывает на экземпляр объекта.}
я = ф.Метаданные.Справочники.Количество();
---> System.NullReferenceException: Ссылка на объект не указывает на экземпляр объекта.
в ScriptEngine.Machine.Contexts.UnmanagedCOMWrapperContext.CallAsFunction(Int32 methodNumber, IValue[] arguments, IValue& retValue)
в ScriptEngine.Machine.MachineInstance.ResolveMethodFunc(Int32 arg)
в ScriptEngine.Machine.MachineInstance.MainCommandLoop()
--- Конец трассировки внутреннего стека исключений ---
в ScriptEngine.Machine.MachineInstance.MainCommandLoop()
в ScriptEngine.Machine.MachineInstance.ExecuteCode()
в ScriptEngine.Machine.MachineInstance.ExecuteMethod(IRunnable sdo, Int32 methodIndex, IValue[] arguments)
в ScriptEngine.Machine.Contexts.ScriptDrivenObject.CallAsFunction(Int32 methodNumber, IValue[] arguments, IValue& retValue)
в TurboConf.HostApplication.HostApplicationForm.ExecuteScript(Script script, Keys ctrl, Keys alt, Keys shift, ScreenForm statusForm, String entryPoint, IVariable[] parameters, ScriptOptions options) в D:\Projects\TurboConf\TurboConf.HostApplication\HostApplicationForm.cs:строка 253
The text was updated successfully, but these errors were encountered: