Существует пример на этой странице, которая это приносит польза в delphi 7, но мне нужно, чтобы функционировал в Дельфи 10.3 Рио, пожалуйста он помогает с этим, я это напечатал в stackoverflow на английском, но, как кажется, они не поняли мой вопрос. Спасибо заранее.
Для prГіximas случаи estarГ - в добро, что ты давал mГЎs данные из примера, который функционирует , и porquГ© оно не функционирует в новых версиях .
Процедура, которую ты объясняешь, - простая и deberГ, - чтобы функционировать равно для любого типа файла, будьте изображением или одной aplicaciГіn. Шаги - следующие:
Сначала ты должен создаешь файл таких ресурсов (RECURSOSVARIOS.RC
) как этот:
// Recursos para imágenes
MINION RT_IMAGE ".\minion.jpg"
// Recurso para un EXE
DUMMYAPP RT_RCDATA ".\DummyApp.exe"
В continuaciГіn ты это составляешь с CMD как этот (RC.CMD
):
brcc32 RecursosVarios.rc > Errores.txt
Это производит файл RECURSOSVARIOS.RES
, которые ты должен aГ±adir в твой DPR со следующей lГ-nea:
{$R RecursosVarios.RES}
, Чтобы извлекать ресурсы EXE и записывать их к диску, использует класс TResourceStream
и cГіdigo смоги быть этим:
var
RecursoStream: TResourceStream;
path:String;
begin
// Para la imagen
RecursoStream := TResourceStream.Create(HInstance, 'MINION', 'RT_IMAGE');
try
RecursoStream.Position := 0;
// Nombre del fichero destino
path := IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) + 'YourImage.jpg';
RecursoStream.SaveToFile(path);
finally
RecursoStream.Free;
end;
// Cargarla en el form
Image1.Picture.LoadFromFile(path);
// Para el EXE
RecursoStream := TResourceStream.Create(HInstance, 'DUMMYAPP', 'RT_RCDATA');
try
RecursoStream.Position := 0;
path := IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) + 'YourApp.exe';
RecursoStream.SaveToFile(path);
finally
RecursoStream.Free;
end;
// ejecutar la aplicación
ShellExecute(Handle, 'open', PChar(path), nil, nil, SW_SHOW);
В обоих случаях, загружает ресурс и сохраняет к диску. Позже изображение загружается в компоненте и она aplicaciГіn он работает.
ВАЖНОЕ ЗАМЕЧАНИЕ: Уже предупредил тебя, что, хотя процедура функционирует, как ты можешь видеть, возможно, что во многих командах у тебя есть проблемы с anivirus и приложения безопасности. Поскольку его нормально,
"no suele gustarles"
в suites безопасности и сходных программ, чтобы одна aplicaciГіn (EXE) извлек другой EXE Ваших ресурсов, это записал к диску и это выполнил. Достаточно вероятно, что они блокируют твою программу, и что они удаляют EXE ресурса после того, как это извлекли и первоначальный EXE; Что это пометили как вирус и даже, что ты не смог выполнять это (сшейте с другой стороны достаточно lГіgica).