Показать сообщение отдельно
  #8  
Старый 27.02.2014, 23:46
Аватар для golem
golem golem вне форума
Прохожий
 
Регистрация: 18.02.2014
Сообщения: 4
Версия Delphi: Delphi 2010
Репутация: 10
По умолчанию

Уважаемый PhoeniX, меня очень заинтерисовала работа с WIM-файлами с использованием Delphi, сейчас работаю над программой редактирования WIM-образов.
Не знаю правильно я делаю или нет, но я экспортирую образы из одного в другой используя примерно такой набор функций:
Код:
wim:= WIMCreateFile(PWideChar(WideString(odObrazPash.FileName)), WIM_GENERIC_READ, WIM_OPEN_EXISTING, 0, 0, nil);
  SetLength(itmp,MAX_PATH);
  GetTempPath(MAX_PATH,PChar(itmp));
  if (WIMSetTemporaryPath(wim,PWideChar(WideString(itmp)))) then ShowMessage('Первый образ загружен!')
        else ShowMessage('Первый образ незагружен!');
   dir:=ePachNewObr.Text;
   dir:=StringReplace(dir,'\\','\',[rfReplaceAll]);
   neww:=WIMCreateFile(PWideChar(WideString(dir)), WIM_GENERIC_WRITE or WIM_GENERIC_READ, WIM_OPEN_ALWAYS, 0, 1, nil);
   SetLength(ptmp,MAX_PATH);
   GetTempPath(MAX_PATH,PChar(ptmp));
   if (WIMSetTemporaryPath(neww,PWideChar(WideString(ptmp)))) then ShowMessage('Второй образ загружен!')
        else ShowMessage('Второй образ незагружен!');
   img:=WIMLoadImage(wim,cbObrazVibor.ItemIndex);
      //Экспортируем образ в новый wim-файл
      if WIMExportImage(img,neww,0) then  ShowMessage('Все работает!')
        else ShowMessage('Неработает!');
Такой код работает если экспортировать в существующий WIM-файл имеющий хоть один образ, но если мне нужно экспортировать образ в несуществующий WIM-файл то выскакивает ошибка.
Хотя второй образ открывается как новый. Подскажите что я делаю нетак и как из этого положения выйти?
Ответить с цитированием