Как завершить ОЛЕ-сессию 77
08-11-2005 16:29
к комментариям - к полной версии
- понравилось!
С подачи одного перца smaharbA на кубани (код его), теперь у меня есть функция, которая позволяет убивать ОЛЕ-сессию 1С 77 так, чтобы она не болталась в памяти. Раньше я корячился со стандартным ЗавершитьРаботуСистемы, теперича все проще (но под NT не работает, только от Win2K и выше). Теперь можно нормально использовать ОЛЕ, без зависаний:
Функция ЗавершитьРаботуПришложения77(ОЛЕ)
ОЛЕ.ExecuteBatch("
| //(С)smaharbA Кубанский форум по 1С, Adopted for 1C8 by Fixin
| WshShell = CreateObject(""WScript.Shell"");
| Locator=CreateObject(""WbemScripting.SWbemLocator"");
| Service=Locator.ConnectServer();
| oExec=WshShell.Exec(""rundll32.exe kernel32,Sleep"");
| PIDs=Service.Get(""Win32_Process.Handle=""+oExec.ProcessID).ParentProcessID;
| oExec.Terminate();"
);
КонецФункции
вверх^
к полной версии
понравилось!
в evernote