Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
ВнизМожно ли текстоввый файл запихнуть в DLL? Найти похожие ветки
← →
Zilog © (2005-01-14 11:24) [0]сабж
← →
Fay © (2005-01-14 11:25) [1]Да. В ресурсы.
← →
PVOzerski © (2005-01-14 11:27) [2]И даже в константный массив.
← →
Fay © (2005-01-14 11:32) [3]2 PVOzerski © (14.01.05 11:27) [2]
Можно подробнее?
← →
kaZaNoVa © (2005-01-14 11:41) [4]PVOzerski © (14.01.05 11:27) [2]
имхо лучший вариант =)
← →
Zilog © (2005-01-14 11:46) [5]>>Fay © (14.01.05 11:32) [3]
>>2 PVOzerski © (14.01.05 11:27) [2]
>>Можно подробнее?
да, присоединяюсь... поподробнее можно?
← →
PVOzerski © (2005-01-14 11:49) [6]>имхо лучший вариант =)
Да никакой он не лучший. Хотя достоинства есть. 1) Не надо пользоваться редакторами ресурсов при создании; 2) Не выдрать ими же из бинарника (а если зашифровать - так и не найти); 3) OS-независимо. Но и недостатков хватает: локализации не сделаешь, например.
А делается просто. Программка-генератор пишется на коленке за 10 минут и превращает текстовой файл вот в такое:
const
MyText:array[соответствующие числа]of char=(
"э","т","о"," ","т","е","к","с","т" - и т.д. Хоть inc-файлом оформляй, хоть через copy/paste. А потом адрес массива в pChar превратил - и работай.
← →
kaZaNoVa © (2005-01-14 11:51) [7]типа такого
const
Delta=36864;
DumpData : array[1..Delta] of Byte = (
77, 90, 80, 0, 2, 0, 0, 0, 4, 0, 15, 0, 255, 255, 0,
0, 184, 0, 0, 0, 0, 0, 0, 0, 64, 0, 26, 0, 0, 0 );
← →
kaZaNoVa © (2005-01-14 11:52) [8]PVOzerski © (14.01.05 11:49) [6]
я inc-файлом оформлял =))
> 2) Не выдрать ими же из бинарника (а если зашифровать
> - так и не найти);
имхо ОГРОМНОЕ преимущество=))))
← →
Digitman © (2005-01-14 11:52) [9]
> Можно ли текстоввый файл запихнуть в DLL
не только текстовый .. любой !
см.[1]
← →
Fay © (2005-01-14 11:52) [10]2 PVOzerski © (14.01.05 11:49) [6]
1) Спасибо
2) Это ужасно
3) А зачем редактор ресурсов ?!
← →
Zilog © (2005-01-14 11:54) [11]неее... в моем случае это не подойдет... у меня надо хранить конфигурационные файлы, которые придется частенько менять... нужен способ поудобней
← →
Fay © (2005-01-14 11:58) [12]Блин!
Создаёшь файл (типа FILE.RC) примерно следующего содержания
MY_FILE_1 RCDATA "MyFile1.txt"
MY_FILE_2 RCDATA "MyFile2.txt"
Добавляешь его к проекту
Читаешь справку о ресурсах
← →
kaZaNoVa © (2005-01-14 12:01) [13]Zilog © (14.01.05 11:54) [11]
> у меня надо хранить конфигурационные файлы, которые
> придется частенько менять
то есть ты хотишь менять их прямо в загруженной длл ?
← →
Digitman © (2005-01-14 12:02) [14]
> у меня надо хранить конфигурационные файлы
а нахрена их "запихивать" именно в ДЛЛ ? прокомментируй свою глубочайшую мысль ..
← →
Zilog © (2005-01-14 12:14) [15]>>kaZaNoVa © (14.01.05 12:01) [13]
нет, в загруженной длл они менятся уже не будут
>>Digitman © (14.01.05 12:02) [14]
потому как эта чать программы должна иметь возможность обновлятся по надобности, вот я и решил сделать dll.
← →
Fay © (2005-01-14 12:15) [16]2 Zilog © (14.01.05 12:14) [15]
Проблема снята?
← →
Zilog © (2005-01-14 12:18) [17]>>Fay © (14.01.05 12:15) [16]
ну если не считать того, что в длл я ничего пихать пока что не умею, и сейчас буду хелпы листать, то да :)
← →
Fay © (2005-01-14 12:21) [18]2 Zilog © (14.01.05 12:18) [17]
Читал [12]? Что не ясно?
← →
Digitman © (2005-01-14 12:28) [19]
> Zilog © (14.01.05 12:14) [15]
> потому как эта чать программы должна иметь возможность обновлятся
> по надобности
ну и обновляй непосредственно конф.файлы ! на кой шут их содержимое толкать в недра ДЛЛ ?
ДЛЛ-механизм предназначен совершенно для других целей
← →
Fay © (2005-01-14 12:32) [20]2 Digitman © (14.01.05 12:28) [19]
Это уже от религии зависит. Зачем спорить зря?
← →
Digitman © (2005-01-14 12:39) [21]
> Fay © (14.01.05 12:32) [20]
зачем спорить по сему смешному поводу ?
> Это уже от религии зависит
если ты сам и по доброй воле пришел в епархию мелкомягких, отрицать их религию попросту глупо)
а мелкомягкие на эту тему проповедуют следующее : создание ДЛЛ *(как отдельного функционально законченного прогр.модуля) имеет смысл в случаях потенциально возможного совместного одновременного использования этого модуля со стороны более чем одного процесса
← →
Zilog © (2005-01-14 12:48) [22]>>Digitman © (14.01.05 12:39) [21]
мне длл нужен как плагин.
а конфиги туда запихнуть хочу дабы файлов кучу не плодить... вот и всё собственно.
← →
PVOzerski © (2005-01-14 13:03) [23]>а конфиги туда запихнуть хочу дабы файлов кучу не плодить... вот и всё собственно.
Чего-то мне такой подход не нравится... Это что, перекомпилировать (пересобирать) плагин каждый раз заново? Или лезть его бинарник? Ну, теоретически это реализовать можно. Даже понятно, как. Строку с конфигурационными данными начинаем с уникальной сигнатуры. При команде на сохранение конфигурации плагин дергает из хост-приложения callback, передает ему новые значения, оно в ответ выгружает этот плагин, открывает его как двоичный файл, находит сигнатуру, пишет по нужному смещению эти значения, закрывает файл и загружает плагин обратно. Если хост этому научить нельзя (например, недоступны исходники), можно сделать дополнительный плагин-конфигуратор с callback"ом как отдельную dll. А вот стОит ли? Во всяком случае, антивирусным программам-ревизорам вроде ADInf такое не понравится.
← →
Zilog © (2005-01-14 13:08) [24]>> Это что, перекомпилировать (пересобирать) плагин каждый раз заново
да, так и будет, т.к. это как плагин, но не плагин
← →
raidan © (2005-01-17 18:54) [25]>Zilog © (14.01.05 12:48) [22]
>а конфиги туда запихнуть хочу дабы файлов кучу не плодить... вот и всё собственно.
Использовать реестр для этих целей мешает вероисповедание?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.30;
Скачать: [xml.tar.bz2];
Память: 0.51 MB
Время: 0.039 c