Jump to content
Korean Random

Создание инсталляторов для модпаков на базе Inno Setup


Recommended Posts

Если считаешь нужным.

хотя нет, будут удалятся моды которые были установлены 

а как сделать чтобы кнопка отвечала за принятия условий лицензии?

Link to comment
Short link
Share on other sites

Что?

создать кнопку под названием "принять" на стр лицензии 

и почему ошибка,на чистом скрипте не было

 

[Code]
Procedure OneSetup();
begin
If FindWindowByClassName('TWizardForm') <> 0 then
begin
  MsgBoxEx(0, '               Одна из копий модпака уже запущена.'+ #13#10 +'Пожалуйста,нажмите «OK», чтобы выйти из установки.',
   'Внимание!!', MB_OK or MB_ICONINFORMATION, 0, 0);
  Abort;
end;
end;
Function InitializeSetup3(): Boolean;
begin
OneSetup();
Result := True;
end;

Link to comment
Short link
Share on other sites

 

 

создать кнопку под названием "принять" на стр лицензии
Зачем создавать?

Там по стандарту две кнопки.

 

 

 

и почему ошибка,на чистом скрипте не было
Потому что InitializeSetup3. Ищи конфликт в других.
Link to comment
Short link
Share on other sites

Зачем создавать?

Там по стандарту две кнопки.

 

 

 

Потому что InitializeSetup3. Ищи конфликт в других.

 

какой именно конфликт? 

мне нужна кнопка там где рисуется кнопка "отмена" "далее"

InitializeSetup1-скин

InitializeSetup2-килтаск

Edited by Ekspoint
Link to comment
Short link
Share on other sites

Мне откуда знать?

И даже если логику включить, то это:

[code]
Procedure OneSetup();
begin
If FindWindowByClassName('TWizardForm') <> 0 then
begin
  MsgBoxEx(0, '               Одна из копий модпака уже запущена.'+ #13#10 +'Пожалуйста,нажмите «OK», чтобы выйти из установки.',
   'Внимание!!', MB_OK or MB_ICONINFORMATION, 0, 0);
  Abort;
end;
end;
Function InitializeSetup3(): Boolean;
begin
OneSetup();
Result := True;
end;
[/code]
[/spoiler]не правильно.

Это будет тот же самый бред, что и это:
[code=auto:0][code]
Function InitializeSetup1(): Boolean;
begin
 ...
end;

Function InitializeSetup2(): Boolean;
begin
 InitializeSetup1();
end; 

Function InitializeSetup(): Boolean;
begin
 InitializeSetup2();
end;
Ну так создай её.

 

вот так у меня 

Function InitializeSetup(): Boolean;
begin
InitializeSetup1(); 
InitializeSetup2(); 
InitializeSetup3(); 
Result:=True;
end;

и почему не верно?

ведь первые 2 процедуры нормально грузит

Link to comment
Short link
Share on other sites

и почему не верно?

Я не буду делать ВСЁ за тебя. Учись думать сам. F8 в помощь.

Я дал рабочий код. Совместимость твоего кода с моим я не гарантировал. Это уже твои проблемы.

уж простите за прямоту, но давно пора.

Edited by Kotyarko_O
Link to comment
Short link
Share on other sites

Я не буду делать ВСЁ за тебя. Учись думать сам. F8 в помощь.

Я дал рабочий код. Совместимость твоего кода с моим я не гарантировал. Это уже твои проблемы.

уж простите за прямоту, но давно пора.

я просто спрашиваю вот и все

отключил то и то все равно не пашет

 

в этом коде нужно что то написать вместо Abort

у тебя работает потому что в килтаске ток одна функция пашет,а не две как должно быть

Edited by Ekspoint
Link to comment
Short link
Share on other sites

у тебя работает потому что в килтаске ток одна функция пашет,а не две как должно быть

У меня работает, потому что у меня всё правильно.

Что ты имеешь ввиду под "двумя функциями киллтаска"?

 

'И при чём тут киллтаск?'

post-16412-0-04305000-1417976992_thumb.jpg

 

в этом коде нужно что то написать вместо Abort

Ну попробуй сделать из процедуры функцию, с булевым результатом. И используй его, присвоив ему False (Result := False), вместо Abort.

Edited by Kotyarko_O
Link to comment
Short link
Share on other sites

при нажатии нет у тебя нет функции

Что?

А, понял. Но "у меня" - это где? в моём модПаке?

з.ы. мне кажется, я начинаю понимать твой язык.

Edited by Kotyarko_O
Link to comment
Short link
Share on other sites

да,в твоем

У меня при нажатии "Да" завершается определённый процесс. А при нажатии "Нет": Result := False и Abort. И всё это в одной функции, а не в отдельных.

Так уверенно говоришь чего у меня там нет, будто знаешь, что там вообще :)

Edited by Kotyarko_O
Link to comment
Short link
Share on other sites

У меня при нажатии "Да" завершается определённый процесс. А при нажатии "Нет": Result := False и Abort. И всё это в одной функции, а не в отдельных.

Так уверенно говоришь чего у меня там нет, будто знаешь, что там вообще :)

ну поставил я False,тоже самое

Link to comment
Short link
Share on other sites

ну поставил я False,тоже самое

Или ходи и спрашивай дальше вокруг да около, или кидай все свои ветки:

Function InitializeSetup(): Boolean;
begin
InitializeSetup1(); 
InitializeSetup2(); 
InitializeSetup3(); 
Result:=True;
end;
Edited by Kotyarko_O
Link to comment
Short link
Share on other sites

 

Или ходи и спрашивай дальше вокруг да около, или кидай все свои ветки:

Function InitializeSetup(): Boolean;
begin
InitializeSetup1(); 
InitializeSetup2(); 
InitializeSetup3(); 
Result:=True;
end;

если ставлю тут то ошибка в скине

Link to comment
Short link
Share on other sites

и почему ошибка,на чистом скрипте не было

Ошибка говорит, что на данном этапе WizardForm еще не существует, а вы пытаетесь к ней обратиться.

В функции InitializeSetup нельзя обращаться к WizardForm, а так же её дочерним компонентам ибо они будут созданы после того, как отработает эта функция.

Edited by YURSHAT
Link to comment
Short link
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...