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

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


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 человек.
Рекламное место пустует