| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > LoadResourсe |
| Автор: Crut 10.1.2008, 11:32 | ||||
На форме 3 обьекта:
Кнопка 1 загружает в ресурсы "a.exe" текст из File:
А кнопка2 должна загрузить из ресурсов "a.exe" файл в File. Но как это реализовать?? Заранее благодарен... |
| Автор: SenkraD 10.1.2008, 13:14 |
| Crut, в Builder есть удобная оболочка TResourceStream, поищи - примеров куча как на форуме так и в нете вцелом |
| Автор: artsb 10.1.2008, 13:24 | ||||
Вместо этого:
лучше так:
А по поводу загрузки и выгрузки ничего сказать не могу. Сам создавал такой топик, но никто не ответил. :( |
| Автор: Crut 11.1.2008, 11:43 | ||
Компилица запускаится, а когда я нажимаю на кнопку, выдаёт, что ресурс "LIBRARY" ненайден. Что делать?? |
| Автор: artsb 11.1.2008, 12:09 | ||
Из справки:
А ты загружал до этого ресурс "LIBRARY"? |
| Автор: Crut 11.1.2008, 12:17 |
| ??? |
| Автор: artsb 11.1.2008, 12:30 |
Судя по справке, "LIBRARY" уже должна существовать в ресурсах. |
| Автор: Crut 11.1.2008, 14:27 |
| А как можно такой ресурс в ехешнике сделать?? |
| Автор: artsb 11.1.2008, 14:37 |
| Либо подключить к проекту файл ресурса *.res. Либо добавить свои ресурсы к файлу Project1.res, созданному автоматически (не рекомендуется!). |
| Автор: Crut 11.1.2008, 14:49 |
| Пофигу. Создал я rc файл: LIBRARY RT_RCDATA a.txt Скомпилил, добавил в проект, попробовал - опять не находит! |
| Автор: artsb 11.1.2008, 15:13 |
| А ты его добавил к a.exe? Ведь ты с этим файлом работаешь. |
| Автор: Crut 11.1.2008, 15:17 |
| brcc32 a.rc a.exe И так сделал - пофигу... |
| Автор: xvr 11.1.2008, 15:31 | ||||
Тебе надо загрузить твой a.exe как библиотеку, и ее инстанс подавать в TResourceStream. BeginUpdateResource выдает не тот инстанс. См LoadLibraryEx с флагом LOAD_LIBRARY_AS_DATAFILE |
| Автор: Crut 11.1.2008, 15:44 | ||
| Ща попробуем... Добавлено через 10 минут и 48 секунд
Гы)) Терь Access Violation и указывает на kernel32.dll... А еще открыват файл GETMEM.inc и ругается на строку 1066! Кстати хоть брешет, но загружает)) И вот маленький вопрос: TResouceStream->read(void,int) что вводить в int, если неизвестен размер строки? Добавлено через 13 минут и 31 секунду LoadLibraryEx тоже... |
| Автор: xvr 11.1.2008, 22:28 | ||||
Вот поэтому и Access Violation |
| Автор: Crut 12.1.2008, 10:37 |
| А что делать, если я не знаю сколько байтов мне необходимо из текста?? |
| Автор: artsb 12.1.2008, 10:50 | ||
А если как-то так:
Не уверен конечно. |