Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проект привык к dll [D7, D2005, XP]


vain ©   (2006-07-27 02:23:00) 

Я создал проект, в нём использую dll с единственной функцией
function GetStream(number: integer): TResourceStream; external 'ptc.dll';
Потом меняю 'ptc.dll' на 'rk.dll', и выдаётся сообщение об ошибке, что, мол, не найден 'ptc.dll'. То есть dll'ка приклеилась к проекту намертво, хотя указнная выше строка - единственное место в проекте, где я ссылался на 'ptc.dll'.


Ketmar   (2006-07-27 18:39:00) [1]

>Сергей М. ©   (27.07.06 16:16) [6]
по крайней мере в WIn2K/XP -- точно можно. в 9X -- нельзя.

>KilkennyCat ©   (27.07.06 18:31) [7]
флажками в заголовке. %-)


KilkennyCat   (2006-07-27 18:31:00) [2]

а чем отличается в данном случае ехе от длл?...


Сергей М.   (2006-07-27 16:16:00) [3]


> что будет если экспортировать функцию из ЕХЕ?


Ничего не будет.
Идентификатор ф-ции, как и положено, будет размещен в таблице экспорта.
А вот можно ли будет без проблем воспользоваться этой ф-цией  - это совсем иной вопрос.


StriderMan   (2006-07-27 16:03:00) [4]

кстати, а что будет если экспортировать функцию из ЕХЕ? Делфи не ругается на такое.

Это где-нибудь используеся и будет ли работать?


TForm   (2006-07-27 15:58:00) [5]

Чёбы такого не повторялось заведи константу с именем DLL и соответственно замени на:

const PTCDLL='Ptc.dll';
function GetStream(number: integer): TResourceStream; external PTCDLL;

и желательно модуль с константами и проч. ерундой сделать отдельным для этого.
Потом в одном месте меняешь и усе.... во всех модулях изменилось...


Сергей М.   (2006-07-27 11:33:00) [6]


> забыл что экспортировал эту функцию ещё в двух модулях


Если при этом ты не забыл, что проект хост-приложения, обращающегося к DLL, и проект той самой DLL в дан.сл. должныбыть собраны с опцией Build With Run-Time Packages, то ничего страшного не произошло - просто гонка вагонов впереди паровоза)


KilkennyCat   (2006-07-27 11:20:00) [7]

Время детское, оправдания не принимаются, будешь наказ прочтением "Библия Делфи" двести раз перед сном %)


vain   (2006-07-27 02:36:00) [8]

Всем пардон. Админ, мочи эту тему. Я забыл что экспортировал эту функцию ещё в двух модулях:) Ну что ж сами понинаете - запарился совсем (на время добавления вопроса посмотрите).


Наверх

Титульная страница Поиск, карта сайта Написать письмо