Black Fox |
Отправлено: 10.08.2005, 21:29 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
При переносе проги на другой комп, приходится тащить и билдеровские dll. Можно ли их (те компоненты которые используются) как нибудь вытащить в отдельный dll (один) или вообще запихнуть в свою прогу (exe-шник).
|
|
Георгий |
Отправлено: 10.08.2005, 22:49 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
речь о файлах BDE идёт? |
|
Black Fox |
Отправлено: 11.08.2005, 20:38 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Именно о них
|
|
Георгий |
Отправлено: 11.08.2005, 22:14 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
в каком-то древнем факе видел описание процесса линковки биде с прогой. но с поиском не помогу — уже и не помню где это было. помню что фак был обычный-текстовый, даже не html.
Отредактировано Георгий — 11/08/2005, 23:15 |
|
Dimon.Ru |
Отправлено: 30.08.2005, 15:52 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 92
|
была у меня подобная проблема.
не нашел другого способа, как сделать инсталлятор БДЕ.
если хотите, могу рассказать как это делается
(на форуме бываю редко, так что, ечли что — пишите: dimon-a@yandex.ru) |
|
olegenty |
Отправлено: 31.08.2005, 06:26 |
|
Ветеран
Группа: Модератор
Сообщений: 2412
|
jrsotware.org -> InnoSetup. там же — ISTool. Там же примеры скриптов для Inno Setup (*.iss) для установки BDE, DAO, VB, MDAC...
|
|
Gedeon |
Отправлено: 31.08.2005, 08:28 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Ну а че можно и в отдельную dll и хоть в сам экзешник
затолкать:
1. Создаем .RC файл, куда пишем примерно следующее: MYDATA RCATA MY_FILE.EXT, где MY_FILE.EXT — имя файла, который нужно затолкать в ресурсы. Разумеется, файл должен находиться в папке с проектом.
2. Прицепляем .RC-файл к проекту.
3. Компилируем.
4. Радуемся.
Наоборот:
CODE |
HRSRC hRes = FindResourceEx (NULL, RT_RCDATA, "MYDATA", NULL);
if (!hRes)
return;
int iResSize = SizeofResource (NULL,hRes);
if (!iResSize)
return;
THandle *hCodeResource = (unsigned int*)LoadResource (NULL, hRes);
void *cResourcePtr = LockResource (hCodeResource);
if (!cResourcePtr)
{
FreeResource(hCodeResource);
return;
}
TMemoryStream *Stream = new TMemoryStream();
Stream->WriteBuffer(cResourcePtr, ResourceSize);
Stream->SaveToFile ("MY_FILE.EXT"); |
Вытягивание файла приведено для ехе из dll переделать не сложно.
Ну а дальше хоть regsvr32 хоть что еще угодно. Предварительно разумно проверять наличие бде и запущенные на нем проги.
|
|
Black Fox |
Отправлено: 31.08.2005, 21:23 |
|
Ученик-кочегар
Группа: Участник
Сообщений: 10
|
Спасибо, буду пробовать
|
|