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 — не находит.
Поэтому вопрос снимаю, поскольку надо ковырять компонент, вряд ли кто мне в этом поможет |
|
|