Показать сообщение отдельно
  #4  
Старый 31.05.2015, 16:18
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Отладчиком пройдись. Где эксепшен кидается? Подозреваю, что на TResourceStream.Create(). Тогда Finally не сильно поможет, его тоже придется на except менять. Как-то так:
Код:
Res := nil;
try
  Res:=TResourceStream.Create(Hinstance, PChar('devcon'), PChar('EXEFILE'));
  Res.SavetoFile(PChar('devcon.exe'));
  Res.Free;
except
on Exception do
  begin
    ShowMessage('Resource not found');
    if res <> nil then
       Res.Free;
  end;
end;
или же
Код:
Res := nil;
try
  try
    Res:=TResourceStream.Create(Hinstance, PChar('devcon'), PChar('EXEFILE'));
    Res.SavetoFile(PChar('devcon.exe'));
  except
    on Exception do ShowMessage('Resource not found');
  end;
finally
  if res <> nil then
     Res.Free;
end;
ЗЫЖ я бы вообще сделал нормальную олдскульную распаковку через WinAPI и не парился с эксепшенами.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием