powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / [игнор отключен] [закрыт для гостей] / Внешняя компонента .dll
6 сообщений из 6, страница 1 из 1
Внешняя компонента .dll
    #39182346
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем Доброго дня.
Такой вопрос.
Компонента dll , которая прекрасно работает в 1С 7.7
в 1с 8.1 не хочет вообще загрузиться ...
Пробовал и вставить ее в C:\Program Files\1cv81\bin\cache1c.dll
Пробовал регистрировать средствами regsvr32 "C:\Program Files\1cv81\bin\cache1c.dll"
Регистрируется без проблем.
Когда хочу к ней обратится, получаю сообщение об ошибке:

Ошибка загрузки внешней компоненты! cache1c.dll
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Процедура КнопкаВыполнитьНажатие(Кнопка)
Попытка 
ЗагрузитьВнешнююКомпоненту("C:\Program Files\1cv81\bin\cache1c.dll");
Исключение 
	Сообщить("Ошибка загрузки внешней компоненты!"  + " cache1c.dll"); 
КонецПопытки; 
Попытка 
	// Получить объект компоненты. 
        // m = Новый ("cache1c.GTMcmd");
	m = Новый COMОбъект("cache1c.GTMcmd"); 
Исключение 
	Сообщить("Не удалось создать объект внешней компоненты"); 
КонецПопытки;    
КонецПроцедуры
...
Рейтинг: 0 / 0
Внешняя компонента .dll
    #39182365
tvm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а разве надо не "ПодключитьВнешнююКомпоненту" вместо "ЗагрузитьВнешнююКомпоненту"?
...
Рейтинг: 0 / 0
Внешняя компонента .dll
    #39182374
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tvm,
Пробовал и так, и с указанием пути , и без.

ЗагрузитьВнешнююКомпоненту("C:\Program Files\1cv81\bin\cache1c.dll");
//ЗагрузитьВнешнююКомпоненту("cache1c.dll");
//ПодключитьВнешнююКомпоненту("C:\Program Files\1cv81\bin\cache1c.dll")
//ПодключитьВнешнююКомпоненту("cache1c.dll")
...
Рейтинг: 0 / 0
Внешняя компонента .dll
    #39182871
Ukraina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если ее в

C:\Windows\System32\drivers
C:\Windows\System32

бросить?
...
Рейтинг: 0 / 0
Внешняя компонента .dll
    #39182895
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что выяснилось.
Если БД для которой была написана dll
находится на той же машине что и 1С 8.1 , все прекрасно работает !
А вот если БД находится на другой машине (удаленно) начинаются
проблемы...

После обычной регистрации компоненты, достаточно такой код
для получения доступа к ее свойствам и методам
Решение нашел здесь
http://1c-pro.ru/threads/podkljuchenie-dll.10208/
:
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Процедура КнопкаВыполнитьНажатие(Кнопка)
Попытка 
	// Получить объект компоненты. 
	m = Новый COMОбъект("cache1c.GTMcmd"); 

Исключение 
	Сообщить("Не удалось создать объект внешней компоненты"); 
КонецПопытки;
 	m.RemoteHost = "192.168.1.101";
	m.RemotePort = 6330;
	m.Подключить(); 
        ......
        итд 
    


Для 1с 7.7 такое не наблюдается. Работает как с локальной, так и с удаленной базы
В чем может быть проблема ???
...
Рейтинг: 0 / 0
Внешняя компонента .dll
    #39184821
Valeriu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Банально до невозможности ...
Нужно выдержать паузы между вызовами (миллисекунды)...
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
Процедура КнопкаВыполнитьНажатие(Кнопка)
Попытка 
	// Получить объект компоненты. 
	m = Новый COMОбъект("cache1c.GTMcmd"); 

Исключение 
	Сообщить("Не удалось создать объект внешней компоненты"); 
КонецПопытки;
 	m.RemoteHost = "192.168.1.101";
	m.RemotePort = 6330;
	m.Подключить(); 
        m.Пауза(100);
        ......
        итд 


Для 1с 7.7 - это не нужно, получается, что шустрее обращение.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / [игнор отключен] [закрыт для гостей] / Внешняя компонента .dll
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]