7
Бертыш
19.02.13
✎
17:08
|
C "Software\1C\1Cv7\7.7\Titles" Все хорошо пример работает, а вот при попытки отойти в чуть в сторону и скормить ей другую папку
Ошибка выполнения Microsoft VBScript: Несоответствие типа: 'LBound'
Собственно код брал из примера
Процедура Сформировать(Ключ="Software\1C\1Cv7\7.7\Titles")
ТЗ.Очистить();
ТЗ.НоваяКолонка("Название");
ТЗ.НоваяКолонка("Путь");
ТЗ.НоваяКолонка("Флаг","Число");
Попытка
ScrptCtrl=СоздатьОбъект("MSScriptControl.ScriptControl");
ScrptCtrl.Language="vbscript";
ScrptCtrl.AddCode("
|Function Get1CV77Titles()
| const HKEY_CURRENT_USER = &H80000001
| Set oReg=GetObject(""winmgmts:{impersonationLevel=impersonate}!\\.\root\default:StdRegProv"")
| strKeyPath = """+Ключ+"""
| oReg.EnumValues HKEY_CURRENT_USER, strKeyPath, arrValues
| strInfo=vbNullString
| For i = LBound(arrValues) To UBound(arrValues)
| call oReg.GetStringValue(HKEY_CURRENT_USER,strKeyPath,arrValues(i),Value)
| strInfo=strInfo & arrValues(i) & vbTab & Value & vbCrLf
| Next
| Get1CV77Titles = strInfo
|End Function
|");
Текст=СокрЛП(ScrptCtrl.Run("Get1CV77Titles"));
Исключение
Сообщить(ОписаниеОшибки());
Форма.Назад.Доступность(?(Ключ="Software\1C\1Cv7\7.7\Titles",0,1));
Возврат;
КонецПопытки;
Для ы=1 по СтрКоличествоСтрок(Текст) Цикл
СтрБазы=СтрПолучитьСтроку(Текст,ы);
Разд=Найти(СтрБазы,СимволТабуляции);
Путь=Лев(СтрБазы,Разд-1);
Название=Прав(СтрБазы,СтрДлина(СтрБазы)-Разд);
ТЗ.НоваяСтрока();
ТЗ.Название=Название;
ТЗ.Путь=Путь;
ТЗ.Флаг=ПустоеЗначение(Парам);
КонецЦикла;
ТЗ.Сортировать("Название");
Форма.Назад.Доступность(?(Ключ="Software\1C\1Cv7\7.7\Titles",0,1));
КонецПроцедуры
При ключе по умолчанию все хорошо, а вот другую папку даешь в которой тоже значения выглядят в Regedit как Reg_SZ, то указанная ошибка
|
|