Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
ВнизКак добать базу данных в EXE файл Найти похожие ветки
← →
-Evgeney - (2004-03-05 08:15) [0]Тоесть чтобы после компиляции база данных бала в exe-ке огромное спасибо тем кто откликнится.
← →
Рамиль © (2004-03-05 08:19) [1]БД в обычном понимании ну ни как не получится. Можно только ресурсы.
← →
-Evgeney - (2004-03-05 08:20) [2]как это можно сделать через ресурсы, ссылочка есть?
← →
-Evgeney - (2004-03-05 08:35) [3]Как то же люди впихивать базу в EXE?
← →
Hooch © (2004-03-05 08:42) [4]какие люди ?
← →
Anatoly Podgoretsky © (2004-03-05 08:42) [5]rc файл и поделючить к проекту.
← →
-Evgeney - (2004-03-05 08:45) [6]Понятно всем спасибо.
← →
Digitman © (2004-03-05 09:09) [7]
> -Evgeney
если не предполагается модифицировать базу в ран-тайм (после ее извлечения из ресурса в ходе работы с ней), то такое извращение еще как-то можно оправдать
а если требуется модификация ? как намерен обновленную базу записывать назад в ресурс ? в ран-тайм ?
← →
Anatoly Podgoretsky © (2004-03-05 09:12) [8]Для указанной платформы решается.
← →
Кщд (2004-03-05 09:15) [9]Anatoly Podgoretsky © (05.03.04 09:12) [8]
в какую сторону думать?
← →
Anatoly Podgoretsky © (2004-03-05 09:16) [10]В сторону наследника от TDataset
← →
Digitman © (2004-03-05 09:28) [11]
> Anatoly Podgoretsky © (05.03.04 09:12) [8]
> Для указанной платформы решается.
я не об этом ... понятно, что соотв.ф-ции для модификации ресурсов в ран-тайм имеются
другой вопрос - нетривиальная организация логики обновления ресурса в условиях когда ресурс относится именно к РЕ-модулю (т.е. в дан.случае с ехе-файлом), ассоциированному с тек.процессом ... если не задействовать разного рода недок.трюки, то поизвращаться придется крепко ... стоит ли задумка того ? ... вот в чем вопрос ..
← →
Anatoly Podgoretsky © (2004-03-05 09:51) [12]Модификация ресурса не является сложной задачей. Но обычно тот кто может это реализовать не будет это делать из за отсутсвия реальной необходимости. Основную сложность вызовет не ресурс, а разработка TResouceDataset
В свое время ФоксПро 2.6 имел такую штатную возможность, как RO таблица в ресурсе и полноценная работа с ним, возможно более позднии версии сохранили эту возможность. Так что если есть такая необходимость то можно подумать о готовом инструменте с реализованной возможностью, то есть Visual FoxPro
Но мне кажется что реально такой необходимости по всей видимости нет.
← →
Digitman © (2004-03-05 10:02) [13]
> Anatoly Podgoretsky © (05.03.04 09:51) [12]
> Основную сложность вызовет не ресурс, а разработка TResouceDataset
а что там сложного ?
если опираться на логику цельного считывания ресурса (хранящего полные БД-данные) в блок памяти, то разработка сабжа сводится к его наследованию от какого-нибудь TMemoryDataSet или TClientdataSet... при открытии НД, ассоциированного с сабжем, сначала ресурс считывается в блок памяти достаточного размера, а далее работа с блоком уже реализована в методах готового класса-предка
здесь другой вопрос - что подразумевается автором под базой данных ... ведь в общем случае БД - это не только некая единственная табличка, на основании данных в которой требуется сформировать в ран-тайм некий НД ..
← →
Anatoly Podgoretsky © (2004-03-05 10:15) [14]У меня тоже сомнения насчет понятий :-)
← →
Игорь (2004-03-05 12:26) [15]Мне тоже нужна такая фигня. Я делаю справочник только для просмотра. И нужно, чтобы был только один файл - EXE.
Есть ли готовый компонент для отображения таблицы, хранящейся в ресурсах файла?
Я нашел такой в RXLib - RxMemoryData. Но данные в него надо закачивать самому, это занимает много времени, когда таблица большая. Вот если бы компонент сам сохранял в своих ресурсах таблицу, как, например, TImage сохраняет в ресурсах картинку.
Если кто что подобное видел...
← →
Digitman © (2004-03-05 12:41) [16]
> Есть ли готовый компонент для отображения таблицы, хранящейся
> в ресурсах файла?
да по колено, где она хранится !
ресурс PE-модуля - всего лишь своего рода контейнер
в ран-тайм птвоим приложением выделяется память и из контейнера этого туда считываются данные, хранимые там
в каком формате хранятся данные в этом (или любом ином) контейнере - тебе решать
ну пусть это, например, будут данные в формате, генерируемом компонентом TClientDataSet
тогда в ран-тайм ты создаешь экз-р класса TResourceStream, считываешь в этот поток данные из ресурса
далее создаешь экз-р TClientDataSet и вызываешь его метод LoadFromStream
все ! НД готов к работе ! Его подготовил ClientDataSet ..
а далее все как обычно и до безобразия просто : создаешь экз-ры TDatasource и TDBGrid, настраиваешь цепочку TClientDataSet + TDatasource + TDBGrid, как если бы вместо TClientDataSet был лбой другой компонент, например, TTable ... и все ! НД у тебя перед носом в гриде ! делай с ними что хошь ..
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.04.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.031 c