Вызов Win-API в 1С: Предприятие 7.7

Пара слов о компоненте DynamicWrapperX от Юрия Попова.

Запуск VB/JScript-сценариев в 1С: Предприятие 7.7 не единственный способ обращаться к Win-API из 1С. Ниже, приведен пример вызова задержки исполнения программного кода в 1С: Предприятие 7.7 без использования цикла и без нагрузки на процессор. В данном примере, через DynamicWrapperX происходит подключение и вызов процедуры «Sleep» динамической библиотеки «KERNEL32.DLL» с заданными параметрами:

Процедура ЗадержПрим(Мсек) Экспорт
    
    WinAPI= СоздатьОбъект("DynamicWrapperX.2");
    WinAPI.Register("KERNEL32.DLL", "Sleep", "i=l", "f=s");
    WinAPI.Sleep(Мсек);
    
КонецПроцедуры
 
//*******************************************
Процедура Сформировать()
    
    время = _GetPerformanceCounter();
    ЗадержПрим(1000);
    Сообщить(_GetPerformanceCounter() - время);
    
КонецПроцедуры

К слову сказать, метод работает значительно точнее, чем у меня получилось через вызов VBScript. Причем, реальное время задержки, почему-то, отклоняется от заданного параметра, где-то на 10-15 мс. в меньшую сторону.

Вам понравиться

Добавить комментарий