SotM
Excuse me this anymore be repeated
Excuse me this anymore be repeated
SotM
Artem1143
Ну можно например по таймеру повесить функцию, и в ней blit'ать картинку "прогресс бара" на саму форму.
[Code]
var
Upload: TCheckBox;
bottom_img:TBitmapImage;
lblCheckBox, lblSelectDir, lblSelectDirBrowse: TLabel;
PageNameLabel, PageDescriptionLabel: TLabel;
WLabel1, WLabel2,
FLabel1, FLabel2, FLabel3: TLabel;
NeedSize:Integer;
FreeMB, TotalMB: Cardinal;
NeedSpaceLabel,FreeSpaceLabel: TLabel;
BmpFile: TBitmapImage;
function DirectX: Boolean;
begin
Result:=Upload.Checked;
end;
procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB > 1024 then
FreeSpaceLabel.Caption := ExpandConstant('{cm:SPACE} ')+ FloatToStr(round(FreeMB/1024*100)/100) + ' GB' else
FreeSpaceLabel.Caption := ExpandConstant('{cm:SPACE} ')+ IntToStr(FreeMB)+ ' MB';
if FreeMB < NeedSize then
WizardForm.NextButton.Enabled := False else
WizardForm.NextButton.Enabled := True;
end;
procedure GetNeedSpaceCaption;
begin
if NeedSize > 1024 then
NeedSpaceLabel.Caption := ExpandConstant('{cm:SPACE1} ')+ FloatToStr(round(NeedSize/1024*100)/100) + ' GB' else
NeedSpaceLabel.Caption := ExpandConstant('{cm:SPACE1} ')+ IntToStr(NeedSize)+ ' MB';
end;
// задал процедуру, чтоб отмечался чебокс еси кликнуть по надписи lblCheckBox
procedure lblCheckBoxOnClick(Sender: TObject);
begin
if Upload.Checked = False then
Upload.Checked:= True else
Upload.Checked:= False;
end;
procedure InitializeWizard();
begin
ExtractTemporaryFile('1.bmp');
ExtractTemporaryFile('3.bmp');
NeedSize:= 4000;
называется страница после установки?
Вот я пишу
ShellExec('', ExpandConstant('{cmd}'), <сокпировать папку 1>, ExpandConstant('{app}'), SW_HIDE, ewWaitUntilTerminated , ErrorCode)
ShellExec('', ExpandConstant('{cmd}'), <удалить папку 1>, ExpandConstant('{app}'), SW_HIDE, ewWaitUntilIdle, ErrorCode)
Но в таком раскладе папка 1 удаляется прежде чем успевает скопироваться. Как быть?
есть последовательность выполнения файлов:
Код:
Exec(ExpandConstant('{app}\bin\00.bat'), '', '', SW_SHOW, ewWaitUntilTerminated, Res);
Exec(ExpandConstant('{app}\bin\01.bat'), '', '', SW_SHOW, ewWaitUntilTerminated, Res);
Exec(ExpandConstant('{app}\bin\02.bat'), '', '', SW_SHOW, ewWaitUntilTerminated, Res);
Exec(ExpandConstant('{app}\bin\03.bat'), '', '', SW_SHOW, ewWaitUntilTerminated, Res);
Exec(ExpandConstant('{app}\bin\DirectorService.exe'), '-install', '', SW_SHOW, ewWaitUntilTerminated, Res);
Exec(ExpandConstant('{app}\bin\04.bat'), '', '', SW_SHOW, ewWaitUntilTerminated, Res);
Первые две строки - установка и запуск сервиса. Для выполненияч третьей строки необходимо, чтобы сервис был запущен.
Проблема в том, что сервис не успевает запуститься (или система не успевает среагировать, не важно, в общем-то)...В пошаговом режиме все великолепно создается и запускается...а вот в автоматическом - не хочет...
Кто что может посоветовать??? Есть идея поставить паузу после выполнения второй строчки...но вот как это сделать?...
Примечание для всех участников
Объёмные скрипты или части кода заключайте в тег more, чтобы ваш вопрос в сообщении не затерялся среди множества строк прилагаемого скрипта.
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
Предыдущая тема: в очередной раз босудим антивиры?