Проблемы с извлечением ресурсов программы.
|
|
Волк-1024 | Дата: Четверг, 15.03.2012, 23:16 | Сообщение # 1 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| Понадобилось одна полезная функция для извлечения ресурсов из проги. В гугле одна фигня на эту тему. На Апи ничего нету. Пришлось писать свою, а точнее переписывать с C++ кода.
Вот что получилось:
Доступно только для пользователей
И функция не желает никак работать... В отладчике она обламывается на: Code WriteFile(hFile, LR, ResLen, WR, nil) На втором параметре. С ошибкой ERROR_INVALID_USER_BUFFER хотя параметр вроде указан верно (в нем указатель на ресурс). На C++ всё фурычит.
Помогите пожалуйста исправить эту джигурду. До меня что-то никак не дойдет.
Pascal, C\C++, Assembler, Python
Сообщение отредактировал Волк-1024 - Пятница, 16.03.2012, 00:08 |
|
| |
dolphin | Дата: Четверг, 15.03.2012, 23:28 | Сообщение # 2 |
Администратор
Сообщений: 906
Статус: Offline
| Ну там же не поинтер надо указывать вроде, на сишке LPCVOID, тут писал готовую процедуру
http://delfcode.ru/forum/30-453-1 Пост №5
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |
Волк-1024 | Дата: Четверг, 15.03.2012, 23:48 | Сообщение # 3 |
Авторитетный
Зарегистрирован: 24.07.2011
Группа: Модераторы
Сообщений: 469
Статус: Offline
| Quote Ну там же не поинтер надо указывать вроде, на сишке LPCVOID Я в С полный ноль. Переписывал чисто визуально. Отталкиваясь от названий функций и переменных
Ха! Вот я дурак!. Достаточно было изменить LR на LR^. Спасибо. Все работает.
Если что вот полностью рабочий вариант:
Pascal, C\C++, Assembler, Python
Сообщение отредактировал Волк-1024 - Пятница, 16.03.2012, 00:14 |
|
| |
dolphin | Дата: Пятница, 16.03.2012, 00:44 | Сообщение # 4 |
Администратор
Сообщений: 906
Статус: Offline
| RT_RCDATA - У разных ресурсов может быть разный тип, об этом не следует забывать используя эту функцию.
Система: Windows 10 x64, Kali Linux Среды программирования: Delphi 7, Delphi 10.x
Я не профессионал, я всего лишь любитель Я не вредитель, я всего лишь теоретик
|
|
| |