COM-объект, реализующий метод Sleep

25 Comments

  1. artem666

    Еще и компоненту подключать, нафиг…

    Reply
  2. Душелов

    А пустой цикл сделать в 1С-е?

    Reply
  3. coder1cv8

    (2) А проц грузить не будет?…

    (0) Это можно и без ВК сделать…

    Reply
  4. ValeriVP

    (1) для создания задержки выполнения.

    (2) пустой цикл — 100% загрузки процессора

    (3) другие методы не так удобны и надежны. например при вызове скрипта может глючить.

    Reply
  5. coder1cv8

    (4) По мне, так проще всего и удобней:

    Код
    Шелл=Новый COMОбъект("WScript.Shell");
    Шелл.run("ping -n 1 -w "+Формат(ВремяВМилисекундах,"ЧГ=")+" 0.0.0.1",0,-1);
    

    Показать полностью

    Reply
  6. sea-man

    Бред. На каждую хпроцедуру из winapi писать отдельную компоненту — это жесть.

    Юзайте DynamicWrapper и и пользуйтесь в 1С всеми преимуществами Win API !!!

    WinAPI= New COMObject(«DynamicWrapper»);

    WinAPI.Register(«KERNEL32.DLL», «Sleep», «i=l», «f=s»);

    WinAPI.Sleep(сч);

    Reply
  7. ValeriVP

    (6) ок. как по твоему можно сделать паузу используя DynamicWrapper для 64х разрядного сервера приложений?

    Reply
  8. 6есик

    Смотря для чего ещё пауза нужна … Как примитивный вариант с 100% загрузкой проца

    Нач=ТекущаяДата();

    Пока ТекущаяДата() — Нач < 60 Цикл // Минутная задержка

    КонецЦикла;

    Я для своих регламентных нужд использую просто отдельного пользователя которым, захожу ночью по шедулеру.

    То мне хватило обойтись и такой строчкой :

    Предупреждение(«», 60);

    Reply
  9. CheBurator

    (6) а что делать если на попытку создания ДинамикВраппер ругается что неудачная попытка создания — куда копать..???

    Reply
  10. ValeriVP

    (9) наверное надо копать в сторону прав — проверить, что компонента регистрируется.

    Reply
  11. Zloy1C

    если кто-то что-то сделал, значит это кому-нибудь надо 🙂

    вообще наверное нормально, если надо чтобы одинаково работало на клиенте, сервере 32х и 64х

    Reply
  12. coder1cv8

    При попытке зарегистрировать dll-ку ошибка: «ЛоадЛибрари (здесь путь) файлед — Зыс апликейшн хаз фейлед ту старт бикоз зэ апликейшен конфигурейшен из инкорект. Реинсталинг зэ апликэйшен май фикс сзыс проблем»

    P.S. Сорри за мой английский… 🙂

    Reply
  13. ValeriVP

    ОС какая?

    Reply
  14. ValeriVP

    (12)ты учел, что для 32х и 64х надо пользовать разные DLL?

    Reply
  15. coder1cv8

    (13,14) ОС: Microsoft Windows Server 2003 R2 Enterprise x64 Edition SP2

    Пытаюсь зарегистрировать: regsvr32 «C:Program Files (x86)1cv81insleep64.dll»

    Reply
  16. coder1cv8

    +(15) Поправь в шапке «regsvr32»

    Reply
  17. ValeriVP

    а 32х регистрируется?

    Reply
  18. coder1cv8

    (17) Длл-ка? Там же? На х64 Винде?… Нет, такая же ошибка.

    А 32-х битной Винды у меня нету.

    Reply
  19. ValeriVP

    (18)хз, для такого и писалось изначально. потом уже для 32х сделано на всякий случай.

    Reply
  20. coder1cv8

    (19) Чё делать-то?… Работать не будет? )

    Reply
  21. ValeriVP

    (20) скорее всего проблема в отсутствии MSVCR80.DLL, если можешь, глянь с помощью Depends (http://slil.ru/26284992)

    Reply
  22. ValeriVP

    (22)ага, на сервере

    Reply
  23. 1cnik2

    (9) Сhe Burashka,

    http://www.richmedia.us/post/2012/12/12/elisy-net-bridge-x64.aspx

    инструкция по регистрации 32-битных компонентов в COM+

    про назначение прав вот тут: http://www.forum.mista.ru/topic.php?id=533254

    пробовал, работает с DynamicWrapperX

    Reply
  24. Vigor06

    а я стабильно получаю

    {Форма.Форма.Форма(4)}: Ошибка при вызове конструктора (COMОбъект)
    Компонента = Новый COMОбъект(«AddIn1C.BackgroundPosting»);
    по причине:
    Класс не зарегистрирован
    

    Хотя на 64битной ОС зарегал 64 битный dll

    Reply
  25. Vigor06

    (25) Vigor06, а вот 32 битную зарегал — и заработало

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *