powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Несколько TLB в dll
2 сообщений из 2, страница 1 из 1
Несколько TLB в dll
    #39559195
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хочу в COM-сервер вставить две TLB, чтобы они автоматически зарегистрировались при регистрации сервера. Попробовал так
Код: pascal
1.
2.
{$R Mytlb1.tlb}
{$R Mytlb2.tlb}


Получил warning от компилятора, что вторая tlb не вставлена из-за совпадения идентификаторов

Попробовал через ресурсный файл
Код: pascal
1.
2.
1 TYPELIB "Mytlb1.tlb"
2 TYPELIB "Mytlb2.tlb"


Проект скомпилировался, я вижу два ресурса, но вторая tlb не регистрируется

С уважением, Vasilisk
...
Рейтинг: 0 / 0
Несколько TLB в dll
    #39559236
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема решилась таким кодом

Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
procedure TMyFactory.UpdateRegistry(ARegister: Boolean);
var
  LTypeLib: ITypeLib;
  LModule: string;
  LAttr: PTLibAttr;
begin
  LModule := GetModuleName(HInstance);
  if LoadTypeLibEx(PChar(LModule + '\2'), REGKIND_NONE, LTypeLib) <> S_OK then
    LTypeLib := nil;
  if ARegister and (LTypeLib <> nil) then
    RegisterTypeLib(LTypeLib, PChar(LModule), nil);
  inherited UpdateRegistry(ARegister);
  if not ARegister and (LTypeLib <> nil) then begin
    LTypeLib.GetLibAttr(LAttr);
    UnRegisterTypeLib(LAttr^.guid, LAttr^.wMajorVerNum, LAttr^.wMinorVerNum, LAttr^.lcid, LAttr^.syskind);
  end;
end;
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Несколько TLB в dll
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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