Имя: Пароль:
1C
 
Понимаю тема избита... "отсутствует интерфейс IInitDone"
0 Kotenka
 
19.09.08
16:36
Библиотека sb_lion.dll
1 H A D G E H O G s
 
19.09.08
16:39
Скорее всего интерфейса в ней правда нет.
2 Кадош
 
19.09.08
16:40
перерегистрируй компоненту
3 victuan1
 
19.09.08
16:40
(0) Первый раз зайди в Винду с правами Администратора и Библиотеку зарегистрируй командой resvr32
4 Kotenka
 
19.09.08
16:44
упс... так вот... операционная система vista, но и под xp таже проблема...
1)права админа.
2)вызывается из того же места, что и зарегистрирована...
3)поставила vkloader... собственно возможно я неправильно заполнила файлег .clsid (Addin.sb_lion = {E8E1A2FA-7953-41E5-B4EC-8EDBE84ED99E}), только других идей уже просто нет.
меня немного смущаит, что при регистрации библиотеки через regsvr32 не создается раздела с таким названием Addin.sb_lion.
может кто сталкивался или просто есть какие-нить идеи?
ЗЫ: sb_lion.dll библиотека для сбербанковского терминала с поддержкой на одном терминале 2-х юр лиц. (тех поддержка банка по 1с не консультирует, все их тестовые программки работают)
5 H A D G E H O G s
 
19.09.08
16:46
(4) Не факт, не факт. А вдруг обычный COM-сервер? Скинь мне на почту - скажу,
или ищи в реестре progid, clsid после регистрации
6 Kotenka
 
19.09.08
16:47
(3) это написано в каждой теме по внешним компонентам... и было проверено чуть ли не в первую очередь...
(1) что значит в ней нет интерфейса? как это проверить? и как в этом случае с ней работать через 1с?
7 victuan1
 
19.09.08
16:48
(4) А почему бы не связаться с программистами Сбербанка и с ними не выяснить проблему? И почему ты решила, что их библиотека умеет работать с 1С, они ее для 1С писали?
8 ДенисЧ
 
19.09.08
16:49
(6) Для начала посмотри, как она используется в конфигурации. Если через ЗагрузитьВнешнююКомпоненту() - то должОн быть интерфейс. Если через создатьОбъект без загрузки - то интерфейса может и не быть.
9 Kotenka
 
19.09.08
16:52
(7) в описалове для компоненты написано типа пример использования методов в синтаксисе 1с
10 victuan1
 
19.09.08
16:52
(8) Сдается мне, что это ВК не для 1С. См. (4): "тех поддержка банка по 1с не консультирует, все их тестовые программки работают"
(4) тестовые программки банка это 1С-ины или другие приложения?
11 victuan1
 
19.09.08
16:53
(9) Ага, значит для 1С.
Тестовая программа 1С банка (в которых у НИХ работает) работает ли у тебя с этой ВК?
12 Kotenka
 
19.09.08
16:54
(6)именно это я и пытаюсь сделать в чистой конфе
перем СБКарт Экспорт;

Процедура ПриНачалеРаботыСистемы()
   
   имяф = "D:\Doc\1c\myTest\sb_lion.dll";
   
   Если ФС.СуществуетФайл(имяф)=0 Тогда
       Сообщить("Не найден файл внешней компоненты "+имяф);
       Возврат;
   КонецЕсли;    
   
   Если ЗагрузитьВнешнююКомпоненту(имяф)=0 Тогда
       Сообщить("Ошибка при загрузке внешней компоненты "+имяф);
       Возврат;
   Иначе
       Состояние("Все нормально, все идет нормально!!");
   КонецЕсли;    

   Попытка
       СБКарт = СоздатьОбъект("sb_lion.ISbCard");
   Исключение
       Сообщить("Не удается создать объект AddIn.sb_lion... !!");
       Сообщить("Зайдите в Windows под правами локального администратора и повторите попытку.");
       Возврат;
   КонецПопытки;
   
   ОткрытьФорму("Отчет.Проверка");
КонецПроцедуры

в результате:
Ошибка при создании объекта из компоненты D:\Doc\1c\myTest\sb_lion.dll (отсутствует интерфейс IInitDone)
Ошибка при загрузке внешней компоненты D:\Doc\1c\myTest\sb_lion.dll
13 Kotenka
 
19.09.08
16:58
(9) Тестовая программа проверки работы терминала.. она не под 1с.. но используют одни и те же библиотеки...(видимо непральна 1 раз выразилась)
14 victuan1
 
19.09.08
16:59
(12) Когда ты сделала regsvr32 sb_lion.dll, что тебе система выдала? Приведи сюда дословно.
15 Kotenka
 
19.09.08
17:02
Успешное выполнение DllRegisterServer в D:\Doc\1c\myTest\sb_lion.dll
16 victuan1
 
19.09.08
17:04
(15) В (12) ты привела код. В каком месте этого кода вываливается "отсутствует интерфейс IInitDone"?
17 Kotenka
 
19.09.08
17:04
(8) а если только она через создатьОбъект, то как должен выглядеть код для ее использования?
18 Kotenka
 
19.09.08
17:05
(16)
"Если ЗагрузитьВнешнююКомпоненту(имяф)=0 Тогда
       Сообщить("Ошибка при загрузке внешней компоненты "+имяф);
       Возврат;
   Иначе
" ТУТ!
19 victuan1
 
19.09.08
17:06
(18) Закомментируй этот код и повтори попытку:
   Если ЗагрузитьВнешнююКомпоненту(имяф)=0 Тогда
       Сообщить("Ошибка при загрузке внешней компоненты "+имяф);
       Возврат;
   Иначе
       Состояние("Все нормально, все идет нормально!!");
   КонецЕсли;
20 Kotenka
 
19.09.08
17:08
ну теперь нам просто не удается создать объект
21 victuan1
 
19.09.08
17:10
(20) Скинь мне эту длл на мыло, посмотрю
22 Kotenka
 
19.09.08
17:12
(21) ушло
23 victuan1
 
19.09.08
17:18
(22) Проверил, не работает. А у меня уж все длл-ки работают. Обращайся к разработчикам, пусть исправляют ошибки.
24 H A D G E H O G s
 
19.09.08
17:19
Проверил - обычный COM сервер.
ProgID:
Sb_lion.SbCard.1
Sb_lion.SbCard
25 victuan1
 
19.09.08
17:21
Опа! заработало
26 victuan1
 
19.09.08
17:23
Вот правильный код (спасиб H A D G E H O G s)
   Если ФС.СуществуетФайл(имяф)=0 Тогда
       Сообщить("Не найден файл внешней компоненты "+имяф);
       Возврат;
   КонецЕсли;    

   Попытка
       СБКарт = СоздатьОбъект("Sb_lion.SbCard");
   Исключение
       Сообщить("Не удается создать объект AddIn.sb_lion... !!");
       Сообщить("Зайдите в Windows под правами локального администратора и повторите попытку.");
       Возврат;
   КонецПопытки;

Т.е. было две ошибки:
1. ЗагрузитьВнешнююКомпоненту не нужно (раз сом-сервер)
2. надо писать Sb_lion.SbCard, а не Sb_lion.iSbCard
27 Kotenka
 
19.09.08
17:54
Спасибо, мальчики ))))
28 Kotenka
 
28.09.08
17:06
паника... у меня все прекрасно работает, если всё файло для терминала валяется в каталоге базы, но надо чтобы оно валялось в отдельной папке (база сетевая, 2 банковских терминала). Если фсе фигачу по пути C:\Program Files\Штрих-М\Sberbank\ при использовании методов sb_lion (к примеру, close_day("","")) пишет ошибка загрузки gate.dll
Т_Т
AdBlock убивает бесплатный контент. 1Сергей