|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
06.05.2012, 18:49 | #1 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Загрузка бинарных данных из app::rc {$R *.dres}
Вопрос.
В ресурсах приложения {$R *.dres} с иконками, битмапами, строками… сидит двоичный файл. Чем или как можно его загрузить в программе? buff := Load***(handle, name)? время++ кажется разобрался. Код:
Последний раз редактировалось Warn; 06.05.2012 в 19:49. |
07.05.2012, 01:06 | #2 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
07.05.2012, 07:13 | #3 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Благодарствую, я пробовал использовать TResourceStream однако, программа сразу вылетала, причем, не доходя до места где используется этот самый TResourceStream. Причиной тому я думаю, является то, что я поотключал все пакеты в среде Delphi 2010) поэтому сразу после добавления Classes в uses происходило что-то страшное. Ну и вследствии этой причины написал исключительно на WIN API)
Еще вопрос один по ходу дела возник, если скажем к программе прилинковать ресурсов на 20мб+ в русле эстетических соображений, чтобы куча файлов не валялась рядом с учу. Запуская такую программу, система будет читать весь объем или только исполняемую часть? Т.е. вопрос скорее такого плана время загрузки приложения увеличится? Использование оперативной памяти тоже (при условии что мы еще ничего не загружали из ресурсов)? время++ Проверил приаттачил к программе архив на 25мб время сборки приложения увеличилось, время загрузки не заметил чтобы увеличилось. В диспетчере оба варианта занимали одинаковый объем памяти, что то около 22мб, что вариант с ресурсом(ресурс не грузился) что без него. Может быть размещении ресурсов идет в другом месте(памяти)? Последний раз редактировалось Warn; 07.05.2012 в 07:37. |
07.05.2012, 07:43 | #4 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
07.05.2012, 09:50 | #5 | |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Цитата:
|
|
09.05.2012, 08:37 | #6 |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Столкнулся с такой проблемой.
Загружаю исходники шейдеров(шейдер) из ресурсов программы. Два ресурса : код вершинного шейдера и фрагментного. Код процедуры... Код:
В чем дело понять не могу |
09.05.2012, 08:39 | #7 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
С чего ты взял, что данные должны иметь терминатор?
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
09.05.2012, 08:50 | #8 | |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Цитата:
Но похоже зря и наверное ты в очердной раз прав они там так лежат. null-терминатора нет и вся беда( т.е. как вариант решения проблемы мне нужно выделять память размером с исходный код + 1 байтъ, обнулить эту память fillchar'ом, и затем копировать туда загруженные данные исходника? Так я получу null-терминатор в конце, или можно проще? |
|
09.05.2012, 09:01 | #9 |
Старожил
Регистрация: 13.08.2009
Сообщений: 2,581
|
Нет тут никакой проблемы, ты её выдумал. Отсутствие терминатора - это как раз и есть разумное и правильное решение. Почему? Потому что он не нужен и даже вреден. Почему? Да по той простой причине, что все размеры ты контролируешь явно.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
|
09.05.2012, 11:01 | #10 | |
Форумчанин
Регистрация: 03.11.2011
Сообщений: 230
|
Цитата:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запись бинарных данных в TStream | retroguy | Общие вопросы Delphi | 10 | 24.04.2012 22:03 |
TreeView-загрузка данных | r1ga | WPF, UWP, WinRT, XAML | 2 | 09.04.2012 21:08 |
Конвертер бинарных данных | royun | Общие вопросы Delphi | 5 | 30.08.2011 11:50 |
Передача данных из VC++ DLL в Delphi App | Kosoglaz | Общие вопросы C/C++ | 2 | 05.02.2008 10:53 |
Загрузка данных | AlexMori | Общие вопросы Delphi | 2 | 15.11.2007 08:12 |