Вход | Регистрация

Форумы на Кубань.Ру


1С:Предприятие ::

Метки:

Глюк с внешним компонентом

Ø
Я
   Evgeny Mukhachev
09.08.00 - 16:24
Привет всем.
Сделал внешний компонент на Delphi. На моей машине работает как часы. А на
бухгалтерской машине при вызове его из обработки возникает ошибка "Ошибка
при создании объекта из компоненты xxxxxxx.dll (отсутствует CLSID)".
Я всегда считал, что внешний компонент, в отличии от внутр. сервера
автоматизации, не надо регистрировать. На своей машине я его дерегистрирую и
он после этого успешно грузится. А на другой - ни в какую.
Может кто сталкивался?
Релизы 1С на обеих машинах с одного диска. Информационная база одна и та же.
Евгений.
 
 
   Sheridan
1 - 09.08.00 - 20:26
А ты уверен, что ты его дерегистрируешь ? Проверь.
   БТР
2 - 09.08.00 - 23:58
А как ты его загружаешь в 1С?
   Evgeny Mukhachev
3 - 10.08.00 - 11:12
Выдержка из 1С:ТСВК :
"Это позволяет просто переносить компоненты между компьютерами без дополнительной регистрации их как OLE серверов". (стр. 9)
Я использую следущий код:
ЗагрузитьВнешнююКомпоненту("CargoIS.dll");
ИС = СоздатьОбъект("AddIn.IS");
DLL содержит элемент STRINGTABLE с ID 100 = "CargoIS".
Функция RegisterExtensionAs выглядит следущим образом
function TCargoIS.RegisterExtensionAs(var bstrExtensionName: WideString): HResult;
begin
  bstrExtensionName := 'IS';
  Result := S_OK
end;
Блок инициализации выглядит так:
initialization
  ComServer.SetServerName('AddIn');
  TComObjectFactory.Create(ComServer, TCargoIS, Class_CargoIS,
    'CargoIS', '', ciMultiInstance, tmApartment);
end.
Вроде все указал.
Так что скажете?
   Muk
4 - 11.08.00 - 12:11
Может, кто подскажет что?
   Sheridan
5 - 11.08.00 - 12:17
Черт его знает. Надо эксперементировать. Должно работать. Как то я скачивал себе внешнюю компоненту, ее не регистрировал, вроде работала.
Я особо с внешними компонентами и OLE не работал. Попробую на выходных что нибудь примитивное наваять, потом напишу.
   БТР
6 - 12.08.00 - 03:03
В целом все правильно, похоже на клиентской машине что-то не так с OLE.
А ошибка вылетает в момент создания объекта или вызова методов?
Судя по всему, у тебя стоит OLE обновленная дельфями, а у юзера постарей - проверь версии ole32.dll
   Muk
7 - 14.08.00 - 16:55
Мысль интересная. Ошибка вылетает при СоздатьОбъект("AddIn.IS"). У юзера стоит версия ole32.dll = 4.71.2900, а у меня = 4.71.1718 ;))). Может в этом дело? Какие dll можно безболезнено менять? Только ole32.dll можно?
   builder
8 - 14.08.00 - 17:30
Люди, а есть у кого шаблон для C-Builder-а ?
   Muk
9 - 18.08.00 - 12:34
Так какие dll из OLE надо переписывать, чтобы обновить версию?
   builder
10 - 18.08.00 - 15:16
Ау, люди, так уж ни у кого нет ? Может есть какие рекомендации? Неужели никто, ничего, кроме меня, не далает по 1С на Билдере.
 
  Рекламное место пустует
   Сергей
11 - 18.08.00 - 18:24
Builder, а с чего ты взял что 1С поддерживает C-Builder ?
В поставке 1С есть примеры на Delphi(3<),MS С++, VB. Про C-Builder ничего не было сказано. Если есть желание могу намылить.



Список тем форума

Форум Территория 1С

Рекламное место пустует   Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует