C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
DLL и ресурсы в DLL, Не находит ресурсы
viva
Отправлено: 27.12.2006, 05:07


Дежурный стрелочник

Группа: Участник
Сообщений: 31



С наступающим Новым Годом 2007, уважаемые знатоки!
Есть прекрасно работающее многофункциональное приложение. Ряд функций потребовалось использовать в других приложениях, поэтому некоторый набор был выделен в DLL, в том числе одна форма с DBGrid, DataSource и tbTable (Titan). Для таблицы требуется иметь ресурс (у меня это Account.Res).
Вот в нём вся и проблема. Если я этот ресурс включаю в DLL, то таблица его не видит и не находит, хотя судя по исходникам должна находить. Если же я его включаю в приложение, то вновь всё O'k.
Однако мне нужно ресурс иметь в DLL, поскольку приложения пишутся на разных языках, не только на BCB и не во всех языках имеется такая возможность, как подключение ресурсов.
Знаком ли кто с такими проблемами? Может подскажете как только внутри DLL можно решить данную проблему?
GoodWin
Отправлено: 28.12.2006, 14:53


Дежурный стрелочник

Группа: Участник
Сообщений: 50



Тебя тоже с НГ.
Хотелось бы конечно увидеть код :-). Но есть предположение:
Ресурсы ищещь ф-ей FindResourse ??

HRSRC FindResource(

HMODULE hModule, // resource-module handle
LPCTSTR lpName, // pointer to resource name
LPCTSTR lpType // pointer to resource type
);

Для приложения hModule можно передавать NULL,
в DLL необходимо передавать HINSTANCE DLL
я, например получаю его в ф-ии
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)

Аналогично во все ф-ии где передается HMODULE hModule необходимо передвать hinst.
Если это не поможет, то выложи коды.
viva
Отправлено: 29.12.2006, 05:37


Дежурный стрелочник

Группа: Участник
Сообщений: 31



Беда в том, что всё делает компонент TtbTable (Titan). Именно он не находит ресурс в DLL. Перед активизацией таблицы я делаю поиск
CODE
hResource = ::FindResource(HInstance,"ACCOUNT",RT_RCDATA);
и нахожу, а вот TtbTable — не находит.
Поэтому вопрос снимаю, поскольку надо ковырять компонент, вряд ли кто мне в этом поможет

Вернуться в Вопросы программирования в C++Builder