Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.02.2012, 19:16   #1
bagabuga
Пользователь
 
Регистрация: 27.11.2010
Сообщений: 18
По умолчанию Необходимо извлечь .exe из ресурсов .exe скомпилированного с delphi xe.

Здравствуйте! У меня возникла проблема. Мне необходимо из ресурсов exe (*.res) извлечь и запустить файл exe. Вообщем, что бы было понятнее, 2 в 1.
До этого в delphi 7 делал это такой процедурой (особо в этом не разбираюсь, код нашел в интернете):
Код:
function TFormMain.LoadTextFromResource(ResourceName: String): String;
var
   RC: Cardinal;
   Adr: Cardinal;
   Size: Integer;
begin
 Result := '';
 RC := FindResource(0,PChar(ResourceName), 'TXT');
 if RC=0 then Exit;
 try
   Adr := LoadResource(0,RC);
   if Adr=0 then Exit;
   Size := SizeOfResource(0,RC);
   SetLength(Result,Size);
   Move(PChar(Adr)^,Result[1],Size);
 finally
   FreeResource(RC);
 end;
end;
Далее:

Код:
procedure TFormMain.TimerRunTimer(Sender: TObject);
var ExeFile:string;
     Exe:TextFile;
begin
 ExeFile:=LoadTextFromResource('ExeFile');

 AssignFile(Exe, NameFile);
 ReWrite(Exe);
 WriteLn(Exe, ExeFile);
 CloseFile(Exe);

 ShellExecute(Handle, 'open', pchar(NameFile), nil, nil, SW_SHOWNORMAL);
end;
Может код некорректный, со стороны профи, но тем не менее работал. Решил с delphi 7 перейти на XE, в ней скомпилировал. Файл извлекся, но запускаться не желает. Помогите, пожалуйста, в решении проблемы, буду очень благодарен.
bagabuga вне форума Ответить с цитированием
Старый 25.02.2012, 20:47   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

А чем вам TResourceStream не угодил?
Человек_Борща вне форума Ответить с цитированием
Старый 25.02.2012, 21:10   #3
bagabuga
Пользователь
 
Регистрация: 27.11.2010
Сообщений: 18
По умолчанию

Цитата:
Сообщение от Человек_Борща Посмотреть сообщение
А чем вам TResourceStream не угодил?
Я же говорю, особо в это не вникал (*.res файлы, работа с ними), процедуру просто нашел в интернете. Огромное Вам спасибо за подсказку, нашел как работать с TResourceStream, теперь всё ок.
bagabuga вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
brcc32.exe не создает файл ресурсов taurii Общие вопросы Delphi 6 14.12.2011 09:20
Извлечь базу из EXE Nester Общие вопросы Delphi 5 15.02.2009 00:30
Извлечь иконку из EXE? Алексей_C Общие вопросы Delphi 22 27.12.2008 23:34
Извлечь путь из EXE NeiL Общие вопросы Delphi 3 21.05.2008 18:44
Извлечь путь к exe файлу lenysik Общие вопросы Delphi 8 09.12.2007 22:46