Защита Модулей, Драйверов, Плагинов

Стартовая страница Форумы Разработка и интеграция Защита Модулей, Драйверов, Плагинов

Просмотр 15 сообщений - с 16 по 30 (из 39 всего)
  • Автор
    Сообщения
  • #33379
    manjey73
    Участник

    который будет лежать рядом в проекте…

    #33380
    Romiros
    Участник

    А зачем? Всё равно методы запускаются из лоджика. Можно вернуть текст для лога через out переменную, я так делаю, чтобы основной код логики не засорять.

    #33381
    manjey73
    Участник

    С возвратом текста много возни, хотел писать сразу в лог то, что мне нужно.
    Особенно учитывая, что там разные методы WriteError, WriteAction и т.д.

    #33382
    JurasskPark
    Участник

    С возвратом текста много возни, хотел писать сразу в лог то, что мне нужно.
    Особенно учитывая, что там разные методы WriteError, WriteAction и т.д.

    Это всё решаемо.
    Клиент internal class DriverClient

    
            #region DebugerLog
            /// <summary>
            /// Getting logs
            /// <para>Получение лога<para>
            /// </summary>
            public static DebugData OnDebug;
            public delegate void DebugData(string msg);
            internal void DebugerLog(string text)
            {
                if (OnDebug == null)
                {
                    return;
                }
    
                OnDebug(text);
            }
            #endregion DebugerLog
    

    Откуда вызываете код.

    
      DriverClient.OnDebug = new DriverClient.DebugData(DebugerLog);
      DriverClient driverClient = DriverClient();
    
    
            #region Debug Log
            /// <summary>
            /// Getting logs
            /// </summary>
            public void DebugerLog(string text)
            {
                moduleLog.WriteAction(text);
            }
            #endregion Debug Log
        }
    
    #33383
    manjey73
    Участник

    Интересно, но нифига непонятно, куда что должно быть помещено 🙂

    Итак снова. Есть класс ModXXXLogic : ModuleLogic
    Есть некий класс internal Class1, при этом он никоим образом не вызывается непосредственно из ModXXXLogic, последний даже не знает об его существовании.

    Что объявить в ModXXXLogic, чтобы когда я доберусь до вызова чего-то из Class1 я мог напечатать в журналы логов ?

    Пробовал делать Class1 : ModuleLogic но похоже там все не так просто и вряд ли я получу переменные и методы из ModuleLogic, может как-то неправильно пытаюсь сделать, но тот же serverContext у меня выходит null….

    #33384
    manjey73
    Участник

    упс, вроде сделал наследника и могу из своего класса печатать в логи…

    #33385
    JurasskPark
    Участник

    Ну хвалитесь как сделали?:)

    #33386
    manjey73
    Участник

    Да еще ковырять и ковырять… Главное что вывод пошел.
    Опять же, может можно как-то иначе это сделать, а не наследовать пять ModuleLogic или DriverLogic

    Собственно проблема была в том, что мой Class1 напрямую не запускается из ModXXXXLogic. Он там где-то потом в процессе стартует из другого класса, который как раз из ModXXXXLogic запускается.

    #33391
    Mikhail
    Модератор

    Он там где-то потом в процессе стартует из другого класса, который как раз из ModXXXXLogic запускается.

    Значит в конструкторе Вашего класса нужно передать ссылку на объект журнала, которая имеет тип ILog.

    #33392
    manjey73
    Участник

    Вот, и как это сделать правильно?

    #33393
    Mikhail
    Модератор
    public MyClass(ILog log)
    {
    ...
    }
    #36475
    manjey73
    Участник

    Михаил, собственно напишите где задавать свою информацию в окне регистрации для версии 6.4.0 ?

    #36484
    manjey73
    Участник

    Ошибка при создании интерфейса модуля ModFarm типа Scada.Server.Modules.ModFarm.View.ModFarmView из файла C:\Program Files\SCADA\ScadaAdmin\Lib\ModFarm.View.dll: Exception has been thrown by the target of an invocation.

    При попытке добавить RegistrationInfo.PermanentKeyUrl = «mailto:myemail@myemail.ru»;
    и для TrialKey то же самое.

    Только ссылку можно добавить на сайт? а как вот просто почту добавить?

    #36485
    manjey73
    Участник

    Вопрос, а подшаманить еще и библиотеку Scada.Common точно не требуется?

    #36486
    manjey73
    Участник

    Получилось добавить ссылки, создав новый инфо

    RegistrationInfo = new RegistrationInfo
    {
    // тут все параметры
    };

    даже можно mailto: использовать, только вот при установленном Outlook у меня фигня какая-то запускается.

Просмотр 15 сообщений - с 16 по 30 (из 39 всего)
  • Вы должны авторизироваться для ответа в этой теме.