Воскресенье, 22.12.2024, 12:20 Приветствую вас Гость | Группа "Гости" 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: xXxSh@dowxXx, Anton93, Волк-1024  
Проблемы с извлечением ресурсов программы.
Волк-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++ всё фурычит.

Помогите пожалуйста исправить эту джигурду. biggrin
До меня что-то никак не дойдет. biggrin


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

Я в С полный ноль. Переписывал чисто визуально. Отталкиваясь от названий функций и переменных biggrin

Quote
Пост №5

Ха! Вот я дурак!. Достаточно было изменить LR на LR^. biggrin biggrin biggrin
Спасибо. Все работает.

Если что вот полностью рабочий вариант:



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

Я не профессионал, я всего лишь любитель
Я не вредитель, я всего лишь теоретик
 
  • Страница 1 из 1
  • 1
Поиск:

delphicode.ru © 2008 - 2024 Хостинг от uCoz