Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Новый участник


Сообщения: 16
Благодарности: 0

Профиль | Отправить PM | Цитировать


Johny777,
Freearc не покатил.
У меня он начинает конфликтовать с isdone.
И как я уже говорил распаковывает не туда куда нужно. (путь то можно исправить, но ладно)
Дело вот в чём.
Основные файлы репака, запакованы freearc, но распаковываются через isdone
Вот они:
Код: Выделить весь код
#ifdef precomp
  PCFVer:={#precomp};
#else
  PCFVer:=0;
#endif
    ISDoneError:=true;
    if ISDoneInit(ExpandConstant('{src}\records.inf'), $F777, Comps1,Comps2,Comps3, MainForm.Handle, {#NeedMem}, @ProgressCallback) then begin
      repeat
        if not SrepInit('',512,0) then break;
        if not PrecompInit(PCFVer) then break;
        if not FileSearchInit(false) then break;

          if not ISArcExtract    ( 0, 5, ExpandConstant('{src}\LowData.bin'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
          if not ISArcExtract    ( 0, 93, ExpandConstant('{src}\BigData.bin'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
          if not ISArcExtract    ( 0, 2, ExpandConstant('{src}\UpDate.bin'), ExpandConstant('{app}\'), '', false, '', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}\'), notPCFonFLY{PCFonFLY}) then break;
То есть три архива по очереди распаковываются. LowData.bin-BigData.bin-UpDate.bin (они же arc, только расширение изменено)
Так можно ли сюда прикрутить этот самый "main.arc" , но только чтобы он распаковывался, когда в компонентах выбран main ?

В самом моём скрипте видно даже пояснение как эти компоненты оформлять.
Код: Выделить весь код
// Подготавливаем переменную содержащую всю информацию о выбранных компонентах для ISDone.dll
// максимум 96 компонентов.
    Comps1:=0; Comps2:=0; Comps3:=0;
#ifdef Components
    TmpValue:=1;
    if IsComponentSelected('text\rus') then Comps1:=Comps1+TmpValue;     //êîìïîíåíò 1
    TmpValue:=TmpValue*2;
    if IsComponentSelected('text\eng') then Comps1:=Comps1+TmpValue;     //êîìïîíåíò 2
    TmpValue:=TmpValue*2;
    if IsComponentSelected('voice\rus') then Comps1:=Comps1+TmpValue;    //êîìïîíåíò 3
    TmpValue:=TmpValue*2;
    if IsComponentSelected('voice\eng') then Comps1:=Comps1+TmpValue;    //êîìïîíåíò 4
//    .....
Я как раз пытаюсь разобраться, но покуда безрезультатно.

Отправлено: 15:10, 01-03-2013 | #1775