Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 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.038 c
14-1105437303
ghg
2005-01-11 12:55
2005.01.30
насколько критичны ошибки в D2005?


14-1105357402
stone
2005-01-10 14:43
2005.01.30
Материнская плата с Socket 370


1-1105458355
odessey
2005-01-11 18:45
2005.01.30
коды для принтера


9-1098115002
Dgt
2004-10-18 19:56
2005.01.30
Help!где скачать opengl 1.3 или выше


1-1105957994
glGLU
2005-01-17 13:33
2005.01.30
MessageDlg





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский