Что касается сообщения об ошибке

Обсуждение любых вопросов связанных с LangMF, комментарии и общение.
Ответить
Аватара пользователя
tecae
начинающий
Сообщения: 3
Зарегистрирован: 02 ноя 2014, 15:47

Что касается сообщения об ошибке

Сообщение tecae » 10 ноя 2014, 07:45

Доброго времени суток

Поскольку не нашел раздела # Предложений # решил запостить тут :!:

При недостаточно внимательном кодировании при отладке мы можем наблюдать такое сообщение
  • 1 Файл с ошибкой
    2 Символ от начала строки
    3 Строчка
    4 Код ошибки
    5 Тип
    6 Сама строчка
ИзображениеИзображение

Для маленьких скриптов в 1 - 2 файла по 100 строк сообщения выше более чем достаточьное

Но (Сужу по себе :lol: ) Когда размер предполагаемого приложения которое еще не написано и на 1/10 8) уже составляет 23 файла
примерно по 100 -200 строк а запускаемый файл состоит из 180 сообщение выше мягко говоря не внушает оптимизма
Указывая что в файле "editor.mf" в 1212 строчке есть ошибка .
Нельзя ли как то улучшить положения дел :cry:

Плюс Есть ли возможность получения данного сообщения в вызывающем потоке при использовании <#--NoShowError>
(Я так понимаю директива отключает появления окна)?

Заранее благодарен за понимание конструктивной критики 8)

p.s ... после решения трудностей реализации (с размещением контролов на форме) когда понял пришлось переписать не маленькую
часть кода (естественно с ошибками :wink: ) почти 4 часа убил на поиск ошибки а было то ...
Ошибка
ИзображениеИзображение
Было

Код: Выделить всё

If hWnd <> 0 Then 
        Call sys.api.SetWindowPos(hWnd, 0, lLeft, lTop, lWidth, lHeight, SWP_NOZORDER)
Должно быть

Код: Выделить всё

If hWnd <> 0 Then Call sys.api.SetWindowPos(hWnd, 0, lLeft, lTop, lWidth, lHeight, SWP_NOZORDER)
При беглом взгляде то и не заметиш :roll:

Аватара пользователя
Atomix
Admin
Сообщения: 103
Зарегистрирован: 19 янв 2005, 17:00
Контактная информация:

Сообщение Atomix » 10 ноя 2014, 13:24

Обработчик ошибок движка VBScript выдает только эту информацию, поэтому здесь я ничем помочь не могу.

По поводу "получения данного сообщения в вызывающем потоке" посмотрите обновленный пример в Examples\ActiveX DLL в новой бете.

Аватара пользователя
tecae
начинающий
Сообщения: 3
Зарегистрирован: 02 ноя 2014, 15:47

Re: Что касается сообщения об ошибке

Сообщение tecae » 20 ноя 2014, 21:14

Продолжая тему сообщения об ошибке :!:
Что я делаю не так?

файл 1

Код: Выделить всё

<#Module=mdlMain>
Dim Comandor
Sub Load(cmdLine)
    set Comandor = CreateObject("Atomix.LangMF")  
    Comandor.Command "test.mf" 
   
    While Comandor.state
        DoEvents
    Wend 
   Sys.Ext.msgbox "Alarm"
    
   Comandor.Reset
End Sub
<#Module>
файл 2

Код: Выделить всё

<#Module=mdlMain>
Dim Comandor
Sub Load(cmdLine)
   Sys.Ext.msgbox "Es"
End Sub
<#Module>
Теоретически при запуске первого файла он должен запустить второй и ждать закрытие сообщения после чего открыть свое сообщение
вместо этого появляется только "Alarm"


Плюс если код выше будет работать куда прилепить

Код: Выделить всё

<#--NoShowError>
и процедура из Examples\ActiveX DLL\

Код: Выделить всё

Public Sub ActiveScript_Error(ByVal Obj As Object)
    MsgBox vbCrLf & "Error = " & Hex$(Obj.Error.Item("Number")) & "    |    Line = " & Obj.Error.Item("Line") & _
           "    |    Pos = " & Obj.Error.Item("Pos") & "    |    " & Obj.Name & " => " & Obj.Tag & vbCrLf & _
           "Type -> " & Obj.Error.Item("Descr") & vbCrLf & "Code -> " & Obj.Error.Item("Code") & vbCrLf, , "Error"
End Sub 
что бы это все заработало

Если вас не затруднит можно рабочий пример на LangMF :cry:

Нужно для уточнения местоположения ошибки
Буду перед запуском скрипта строить дерево инклудов для вывода реального местоположения ошибки

кстати теоретически при старте скрипта это можно делать и в самом LangMF форма ошибки же собственная?

перед запуском построили дерево
что то типа
mf(1..1 ( #inc1 2..30) (#inc2 31..35(#inc3 36...45)46..102))103..250)

перед выводом ошибки в строке 40 пересчитали получиль файл #inc3

Аватара пользователя
Atomix
Admin
Сообщения: 103
Зарегистрирован: 19 янв 2005, 17:00
Контактная информация:

Re: Что касается сообщения об ошибке

Сообщение Atomix » 21 ноя 2014, 12:28

По поводу ошибок, не получится с инклюдами, т.к. там все непросто. :roll:

Ответить