Цитата:
Сообщение от M.A.D.M.A.N.
Э, кто вызов конструктора под try то пихает?
|
я пробовал и так и сяк.. все тоже самое..
Я вот последовал совету
Bargest насчет WinAPI и нашел следующую функцию:
Код:
function ResourceToFile(lpType, lpName, FileName: PChar): BOOL;
var
HResInfo: HWND;
HGlobal: HWND;
FMemory: Pointer;
FSize, FHandle: Integer;
nl: Cardinal;
begin
HResInfo := FindResource(HInstance, lpName, lpType);
HGlobal := LoadResource(HInstance, HResInfo);
FMemory := LockResource(HGlobal);
FSize := SizeOfResource(HInstance, HResInfo);
FHandle := Integer(CreateFile(FileName, GENERIC_READ or GENERIC_WRITE,
0, nil, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0));
Result := WriteFile(HWND(FHandle), FMemory^, FSize, nl, nil);
CloseHandle(HWND(FHandle));
end;
По идее она должна возвращать FALSE если не удалось распаковать файл?
И еще прошу объяснить почему если я создаю файл ресурсов такого типа:
Код:
devcon EXEFILE devcon.exe
распаковать получается а если:
не получается... а вот если я создаю контейнер допустим RCDATA_1 тогда работает. Скажите можно ли так делать? Имеет ли какое то значение в каком контейнере я храню файлы?