Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.01.2012, 19:51   #1
SvenSoft
Новичок
Джуниор
 
Регистрация: 22.01.2012
Сообщений: 1
По умолчанию проблема с регистрацией dll в системе

Добрый день. Создал dll с кодом :
Код:
library MYDLL;
 
uses
  SysUtils,
  Classes;
 
{Определяем функцию как stdcall}
function GetSimpleText(LangRus: Boolean): PChar; stdcall;
begin
  {В зависимости от LangRus возвращаем русскую (True) либо английскую (False) фразу}
  if LangRus then
    Result := PChar('Здравствуй, мир!')
  else
    Result := PChar('Hello, world!');
end;
 
{Директива exports указывает, какие функции будут экспортированы этой DLL}
exports GetSimpleText;
 
begin
end.
создал второе приложение на delphi, которое вызывает статически из данной dll функцию, все работает нормально..

Но целью разработки dll был вызов данной процедуры из 1с 7.7. Там регистрироваться dll просто отказывается, потому как видимо требует предварительной регистрации в системе (через regsvr32). При попытке зарегистрировать dll в 1с, выдает ошибку : Ошибка при создании объекта из компоненты C:\Program Files\1Cv77\BIN\MYDLL.dll (отсутствует CLSID).
Пытаюсь предварительно зарегистрировать dll в системе через regsvr32, тоже ошибка : C:\MYDLL.dll была загружена, но найти точку входа DllRegisterServer не удалось. Зарегистрировать этот файл невозможно

Помогите разобраться, как создать dll, которую можно будет предварительно зарегистрировать в системе, или как возможно решить данную проблему... В дальнейшем функции из dll нужно будет вызывать не только из 1с 7.7, но так же и из 1с 8.1..

Заранее благодарен за ответ. !

Последний раз редактировалось Stilet; 22.01.2012 в 21:07.
SvenSoft вне форума Ответить с цитированием
Старый 22.01.2012, 21:09   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Если мне не изменяет память, чтоб DLL регилась в реестре, в ней нужно либо описать компонент (класс) либо интерфейс (или несколько). Короче чтоб было что регистрировать. Или использовать ActiveX.

P.S. Ой! Поправлюсь, не компонент а COM-объект

P.P.S. Еще раз поправлюсь: Нужно выбирать особый тип DLL - ActiveX Library из вкладки ActiveX при выборе типа проекта.
Именно там появляются необходимые функции для регистрации в системе.
I'm learning to live...

Последний раз редактировалось Stilet; 22.01.2012 в 21:19.
Stilet вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с регистрацией на сайте при добавления фото!!! mg1987 PHP 2 13.03.2011 02:12
Проблема с регистрацией ActiveX на другом ПК Haworld Компоненты Delphi 7 04.11.2010 19:41
Проблема с регистрацией на сайте даша петрова Свободное общение 1 07.07.2009 12:10
Проблема с DLL. profi Помощь студентам 5 06.01.2009 23:48
Помоготие с регистрацией MS OFFICE Emil_Ahmet_89 Помощь студентам 5 27.11.2007 06:26