2012-10-23 2 views
0

사용자 지정 페이지가 있고 진행률 막대가 추가되었습니다. 이제 진행률 표시 줄을 제어하는 ​​두 가지 기능이 있습니다. 하나의 기능은 몇 가지 서비스를 중지하고 다른 하나는 설치 위치에서 일부 파일을 백업하는 것입니다.두 개의 다른 작업에서 진행률 막대를 제어하는 ​​방법

Function myCustomPage 
    Var /GLOBAL progressBar 
    Var /GLOBAL label 
    !insertmacro MUI_HEADER_TEXT "Setup is preaparing to install updates" "Please wait" 
    nsDialogs::Create 1018 
    ${NSD_CreateLabel} 10 15 80% 10% "" 
    Pop $label 
    ${NSD_CreateProgressBar} 10 30 80% 8% "" 
    Pop $progressBar 

    ${NSD_CreateTimer} BackUp_Files.Callback 10 
    ${NSD_CreateTimer} Stop_Services.Callback 10 
    nsDialogs::Show 
FunctionEnd 

Stop_Services Backup_files.callback이 가지고에 대한 구조의

Function Stop_Services.Callback 
    ${NSD_SetText} $label "Stopping services" 
    ${NSD_KillTimer} Stop_Services.Callback 
    SendMessage $progressBar ${PBM_SETRANGE32} 0 100 
    SendMessage $progressBar ${PBM_SETPOS} 25 0 
    Sleep 100 
    SendMessage $progressBar ${PBM_SETPOS} 25 0 
    Sleep 100 
    SendMessage $progressBar ${PBM_SETPOS} 50 0 
    Sleep 100 
    SendMessage $progressBar ${PBM_SETPOS} 75 0 
    Sleep 100 
    SendMessage $progressBar ${PBM_SETPOS} 100 0 
FuncionEnd 

같은 종류의 함수를 다시 호출합니다. 결과 : "서비스 중지"와 "파일 백업"사이를 전환하는 라벨을 볼 때. 누구든지이 문제를 어떻게 처리 할 수 ​​있습니까? 먼저 서비스를 중지하고 백업 파일을 복사하려고합니다. 서비스를 중지 한 후 진행 막대를 0으로 설정하고 파일 백업을 다시 시작해야합니다. 단일 사용자 정의 페이지에서이 작업을 수행해야합니다.

답변

1

단지 하나의 타이머를 사용하고 첫 번째 작업의 끝에서 call 두 번째 작업 기능을 직접 사용하십시오 ...

관련 문제