У меня есть DLL, которую я импортирую в проект как библиотеку типов, используя функцию Import Type Library в Project в Delphi 6. Недавно мне стало любопытно, какая связь между файлом _TLB.pas и DLL, из которой он был сгенерирован. Используется ли файл _TLB.pas вместо библиотеки или только в том случае, если у меня есть интерфейс кода с ним? Какую еще информацию о том, как код в _TLB.pas работает с DLL, из которой он был сгенерирован, было бы полезно узнать?
Связь между автоматически сгенерированным кодом в _TLB и файлом DLL, из которого он был сгенерирован
Ответы (2)
Файл .pas создается из библиотеки типов, которая обычно содержится в DLL-библиотеке COM.
Файл .pas определяет интерфейс для COM DLL. COM DLL, которые поставляются со встроенными библиотеками типов, имеют интерфейсы с самоописанием. Вам по-прежнему нужна документация, чтобы понять, что делают интерфейсы и методы и как используются параметры. Но вам не нужно самостоятельно писать стандартный код интерфейса.
Когда COM-DLL имеет встроенную библиотеку типов, вы можете создавать модули импорта на выбранном вами языке программирования, а не только на Delphi.
Если вы хотите знать COM, нет лучшего справочника, чем Essential COM, одна из лучших компьютерных книг, которые я когда-либо читал.
файл _TLB.pas генерируется из DLL; это интерфейс на основе Pascal, который ваш проект будет использовать для вызова функций в DLL.
Во время компиляции вам понадобится файл _TLB.pas; во время выполнения вам нужна DLL.