Имя: Пароль:
1C
1С v8
Объясните код...
0 листопад
 
24.07.12
16:29
Подскажите, что делает этот код?

Функция БлокировкаПрограммы() экспорт
   fso = Новый COMОбъект("Scripting.FileSystemObject");
   МассивДрайверов = fso.Drives;
   Отказ = Истина;
   Для каждого Драйв из МассивДрайверов цикл
       Если Драйв.DriveType <> 4 тогда
           Попытка
               SerNum = Драйв.SerialNumber;
               //Если SerNum = 1242873597 тогда
                   ЭтотОбъект.Диск = Драйв.Path;
                   Отказ=Ложь;
                   Прервать;
               //КонецЕсли;
           исключение
           КонецПопытки;
       КонецЕсли;
   КонецЦикла;
   fso = Неопределено;
   Если Отказ=Истина тогда
       ЗавершитьРаботуСистемы();
   КонецЕсли;
КонецФункции


Скинули обработку, залезла внутрь, прежде чем запускать. Помимо прочих (нужных) функций увидела вот эту... Вот и думаю, чем это грозит, если я запущу ее в пользовательском режиме...
1 fisher
 
24.07.12
16:33
Судя по всему, это когда-то была мега-привязка к конкретному компу (диску). Типа без неё не работало. Потом плюнули и заремили.
2 Armando
 
24.07.12
16:34
(0) ничего не будет
3 GLazNik
 
24.07.12
16:34
Странный код.
В принципе ничего не делает.
Проверяет наличие дисков не являющихся CD-Rom
Плюс пишет первый диск в ЭтотОбъект.Диск
4 rs_trade
 
24.07.12
16:36
типа защита
5 xantimans
 
24.07.12
16:50
DriveType = 4 это подключенный сетевой диск, если я не ошибаюсь. Ну и соответственно таким образом прогер задает условие, что программа будет работать только при наличии физических дисков у машины. Странное решение для меня
6 листопад
 
24.07.12
16:53
+(0) вызов этой функции идет всего в одном месте:

Процедура ПроверкаНаличияЭксель(ФормаЭта) экспорт
   Попытка      
       Эксель    = Новый COMОбъект("Excel.Application");
   исключение
       Режим = РежимДиалогаВопрос.ОК;
       Ответ = Вопрос("Программа Exсel не установлена на данном компьютере!", Режим, 0);
       ФормаЭта.Закрыть();
   конецпопытки;
   Эксель = Неопределено;
   БлокировкаПрограммы();  //вот здесь вызов  
КонецПроцедуры
7 xantimans
 
24.07.12
16:56
(6) пасую перед логикой написавшего это ))
8 hhhh
 
24.07.12
16:57
(7) вы забыли про ЭтотОбъект.Диск
9 Tatitutu
 
24.07.12
17:00
запуск разрешен только с флешки
10 GLazNik
 
24.07.12
17:02
(5) судя по http://msdn.microsoft.com/en-us/library/ys4ctaz0(v=vs.84).aspx
это таки сидиром
(6) боюсь я остальные процедуры и функции увидеть