Ekspoint 2,122 #234741 Posted December 7, 2014 Ошибка говорит, что на данном этапе WizardForm еще не существует, а вы пытаетесь к ней обратиься. В функции InitializeSetup нельзя обращться к WizardForm, а так же её дочерним компонентам ибо они будут созданы после того, как отработает функция. и как это сделать? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #234746 Posted December 7, 2014 (edited) Ошибка говорит, что на данном этапе WizardForm еще не существует, а вы пытаетесь к ней обратиться. В функции InitializeSetup нельзя обращаться к WizardForm, а так же её дочерним компонентам ибо они будут созданы после того, как отработает эта функция. Да, это уже выяснилось. Разговор об этом плавно перешёл в ЛС. Изначально проблемой было WizardForm.Free в процедуре DeinitializeSetup. Но потом выяснилось, что какой-то из остальных DeinitializeSetup до сих пор использует визард (там много процедур подключаются). @Ekspoint, прблема в DeinitializeSetup. Отключай всё оттуда по очереди и узнаешь. Edited December 7, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #234749 Posted December 7, 2014 @Ekspoint, прблема в DeinitializeSetup. Отключай всё оттуда по очереди и узнаешь. ок все равно ошибка Quote Share this post Link to post Short link Share on other sites
Pokaritel_VBR 3 #234925 Posted December 8, 2014 (edited) Здарова, Почему когда я делаю лого , оно работает , но при нажатии далее всё виснет и дальше не переключается , кто кинет норм скрипт с лого. AtotIK, подскажи будь добр, ты ведь гений в этих делах Edited December 8, 2014 by Pokaritel_VBR Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #234936 Posted December 8, 2014 Pokaritel_VBR, пачка примеров и библиотек лежит в папке с Inno Ultra. Если конечно устанавливал. Достаточно поискать: "Dll Examples\Isgsg [0.6.0.69]". Про "виснет и т.д." не понял ничего - подробней. Quote Share this post Link to post Short link Share on other sites
MEDNIKs 2 #234937 Posted December 8, 2014 Парни как сделать чтоб после страницы выбора компонентов открывалась страница SelectTasksPage? Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #234940 Posted December 8, 2014 Парни как сделать чтоб после страницы выбора компонентов открывалась страница SelectTasksPage? Нужен хотя бы один таск. Quote Share this post Link to post Short link Share on other sites
AtotIK 580 #234943 Posted December 8, 2014 MEDNIKs, призываю КЭПа на помощь. Один пункт в блоке [Tasks] инициализирует страницу. [Tasks] Name: "Tweaker"; Description: "Отключение эффектов:"; Flags: unchecked; Quote Share this post Link to post Short link Share on other sites
Andrew_Dark 8 #234944 Posted December 8, 2014 (edited) MEDNIKs, призываю КЭПа на помощь. Один пункт в блоке [Tasks] инициализирует страницу. [Tasks] Name: "Tweaker"; Description: "Отключение эффектов:"; Flags: unchecked; Кеп сдесь, ты зачем вызывал, о Всемогущий? Edited December 8, 2014 by Darksoul Quote Share this post Link to post Short link Share on other sites
MEDNIKs 2 #234948 Posted December 8, 2014 Один пункт в блоке [Tasks] инициализирует страницу. Создать через Task получилось а вот редактировать не получается! Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #234950 Posted December 8, 2014 Создать через Task получилось а вот редактировать не получается! А что тебе там отредактировать нужно? Quote Share this post Link to post Short link Share on other sites
MEDNIKs 2 #234952 Posted December 8, 2014 хотел окно твикера там разместить не получилось теперь пробую его заталкать на страницу ReadyPage Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #234954 Posted December 8, 2014 хотел окно твикера там разместить "твикер" - это не окно. Это TNewCheckListBox.И у тебя он, по ходу, окрашивается скином, вот его и не видно. Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #234975 Posted December 9, 2014 как сделать так чтобы какая то картинка появлялась тогда когда отводишь курсор с компонента? procedure RedesignWizardForm1; begin with WizardForm do begin AutoScroll := False; end; end; const UNDEF_INDEX = -777; function GetCursorPos(var lpPoint: TPoint): BOOL; external '[email protected] stdcall'; var InfoPic: TBitmapImage; LastIndex: Integer; TempPath: String; procedure ShowPicHint(const PicFilePath: String); var pt: TPoint; begin if not GetCursorPos(pt) then Exit; InfoPic.Bitmap.LoadFromFile(PicFilePath); InfoPic.Left := ScaleX(490); // размер картинки 323X279 InfoPic.Top := ScaleY(28); InfoPic.Width := ScaleX(323); InfoPic.Height := ScaleY(279); InfoPic.Show; end; procedure CompOnItemMouseMove(Sender: TObject; X, Y: Integer; Index: Integer; Area: TItemArea); var UndefPic: String; begin if Index = -1 then Exit; if Index = LastIndex then Exit; try case TNewCheckListBox(Sender).ItemCaption[Index] of //-----------------------КАРТИНКИ----------------------------\\ 'OverCross от zayaz': UndefPic := 'OverCross от zayaz.bmp'; 'Корейский прицел (Deegie Sights)': UndefPic := 'Корейский прицел (Deegie Sights).bmp'; 'Прицел J1mB0': UndefPic := 'Прицел J1mB0.bmp'; 'Прицел от Орешкина (Зеленый)': UndefPic := 'Прицел от Орешкина (Зеленый).bmp'; 'Прицел от Орешкина (Синий)': UndefPic := 'Прицел от Орешкина (Синий).bmp'; //************************************************************\\ else begin LastIndex := UNDEF_INDEX; InfoPic.Hide; Exit; end; end; if not FileExists(TempPath + UndefPic) then ExtractTemporaryFile(UndefPic); ShowPicHint(TempPath + UndefPic); finally LastIndex := Index; end; end; procedure CompOnMouseLeave(Sender: TObject); begin InfoPic.Hide; LastIndex := -1; end; procedure InitializeWizard1(); begin with WizardForm.ComponentsList do //рамка компонентов begin Top := ScaleY(26); Width := ScaleX(473); Height := ScaleY(284); Offset := 0; WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove; WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave; TempPath := AddBackslash(ExpandConstant('{tmp}')); LastIndex := UNDEF_INDEX; end; with TBevel.Create(WizardForm) do begin Parent := WizardForm.SelectComponentsPage; Left := ScaleX(488); //рамка картинки Top := ScaleY(26); Width := ScaleX(329); Height := ScaleY(284); Shape := bsFrame; end; InfoPic := TBitmapImage.Create(WizardForm) with InfoPic do begin Parent := WizardForm.SelectComponentsPage; Left := ScaleX(490); Top := ScaleY(28); Width := ScaleX(323); Height := ScaleY(279); AutoSize := true; ExtractTemporaryFile('WizardForm.BitmapImage1.bmp'); Bitmap.LoadFromFile(ExpandConstant('{tmp}\WizardForm.BitmapImage1.bmp')); end; end; Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #234985 Posted December 9, 2014 как сделать так чтобы какая то картинка появлялась тогда когда отводишь курсор с компонента? Вот это: WizardForm.ComponentsList.OnItemMouseMove := @CompOnItemMouseMove; WizardForm.ComponentsList.OnMouseLeave := @CompOnMouseLeave; поменяй на это: WizardForm.ComponentsList.OnItemMouseMove := @CompOnMouseLeave; WizardForm.ComponentsList.OnMouseLeave := @CompOnItemMouseMove; Должно сработать. Quote Share this post Link to post Short link Share on other sites
woole 5 #235023 Posted December 9, 2014 Боже мой, возьми уже кавычки - «» Можешь не благодарить 1 Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #235038 Posted December 9, 2014 WizardForm.ComponentsList.OnItemMouseMove := @CompOnMouseLeave; WizardForm.ComponentsList.OnMouseLeave := @CompOnItemMouseMove; Должно сработать. нет Quote Share this post Link to post Short link Share on other sites
Kotyarko_O 1,906 #235043 Posted December 9, 2014 (edited) @Ekspoint, значит, нельзя. Изображение выводится под курсором (GetCursorPos) при его наведении на компонент, наоборот - никак (только писать что-то новое). Edited December 9, 2014 by Kotyarko_O Quote Share this post Link to post Short link Share on other sites
MEDNIKs 2 #235056 Posted December 9, 2014 Боже мой, возьми уже кавычки - «» Можешь не благодарить ??? Quote Share this post Link to post Short link Share on other sites
Ekspoint 2,122 #235078 Posted December 9, 2014 как переместить в новое окно по кнопке? #define Video "_The_Expendables_mp4.avi" [Setup] AppName=My Application AppVersion=1.5 DefaultDirName={pf}\My Application [Files] Source: "IsDXvideo.dll"; DestDir: "{app}" Source: {#Video}; Flags: dontcopy [Types] Name: rus; Description: Полностью русский язык; Flags: iscustom Name: eng; Description: Полностью английский язык язык; Name: ruseng; Description: Русская озвучка, английские субтитры; Name: engrus; Description: Английская озвучка, русские субтитры; [Components] Name: text; Description: Язык субтитров; Types: rus eng ruseng engrus; Flags: fixed Name: text\rus; Description: Русский; Flags: exclusive; Types: rus engrus; Name: text\eng; Description: Английский; Flags: exclusive; Types: eng ruseng; Name: voice; Description: Язык озвучки; Types: rus eng ruseng engrus; Flags: fixed Name: voice\rus; Description: Русский; Flags: exclusive; Types: rus ruseng; Name: voice\eng; Description: Английский; Flags: exclusive; Types: eng engrus; [Tasks] Name: VCCheck; Description: Установить Microsoft Visual C++ 2005 Redist Name: PhysXCheck; Description: Установить Nvidia PhysX [Code] function DXvideoAdd(aHwnd:HWND;FileName:PAnsiChar;volume,aLeft,aTop,aWidth,aHeight:Integer;Time:Double):Integer;external 'DXvideoAdd@files:IsDXvideo.dll stdcall'; procedure DXvideoSetPosition(DXV,aLeft,aTop,aWidth,aHeight:Integer);external 'DXvideoSetPosition@files:IsDXvideo.dll stdcall'; procedure DXvideoFullScreen(DXV:Integer);external 'DXvideoFullScreen@files:IsDXvideo.dll stdcall'; procedure DXvideoSetVisible(DXV:Integer;Show:Boolean);external 'DXvideoSetVisible@files:IsDXvideo.dll stdcall'; procedure DXvideoRun(DXV:Integer);external 'DXvideoRun@files:IsDXvideo.dll stdcall'; procedure DXvideoPause(DXV:Integer);external 'DXvideoPause@files:IsDXvideo.dll stdcall'; procedure DXvideoFree;external 'DXvideoFree@files:IsDXvideo.dll stdcall'; procedure DXvideoVolumeUp(DXV:Integer);external 'DXvideoVolumeUp@files:IsDXvideo.dll stdcall'; procedure DXvideoVolumeDown(DXV:Integer);external 'DXvideoVolumeDown@files:IsDXvideo.dll stdcall'; procedure DXvideoInit;external 'DXvideoInit@files:IsDXvideo.dll stdcall'; //***********************************************************************************************// var showvid,startdx,full:Boolean; showvid1,startdx1,full1:Boolean; DXbtn1,DXbtn:Array[0..3]of TNewButton; Portal:Integer; //************************************// procedure DXbtnClick(Sender: TObject); begin case Sender of DXbtn[0]: begin case startdx of True: begin DXvideoPause(Portal); DXbtn[0].Caption := '4'; end; False:begin DXvideoRun(Portal); DXbtn[0].Caption := ';'; end; end; startdx:= not startdx; DXbtn[1].Enabled:=startdx; end; //*****************************// DXbtn[1]: begin case full of True: begin DXvideoSetPosition(Portal,ScaleX(0),ScaleY(0),ScaleX(480),ScaleY(272)); DXbtn[1].Font.Name:='Symbol'; DXbtn[1].Caption := 'Ы'; end; False:begin DXvideoSetPosition(Portal,ScaleX(-180),ScaleY(0),ScaleX(830),ScaleY(437)); DXbtn[1].Font.Name:='MS Outlook'; DXbtn[1].Caption := 'M'; end; end; full:= not full; end; //*****************************// DXbtn[2]:DXvideoVolumeDown(Portal); DXbtn[3]:DXvideoVolumeUp(Portal); DXbtn1[0]: end; end; //*************************************************************************************// procedure InitializeWizard(); var i:Integer; begin with WizardForm do begin AutoScroll := False; ClientHeight := ScaleY(700); ClientWidth := ScaleX(800); OuterNotebook.SetBounds(ScaleX(0),ScaleY(272),ScaleX(480),ScaleY(170)); InnerNotebook.SetBounds(ScaleX(25),ScaleY(1),ScaleX(425),ScaleY(169)); InnerPage.Color:=clWhite; WizardBitmapImage.Hide; WizardBitmapImage2.Hide; MainPanel.Hide; Bevel.SetBounds(ScaleX(0),ScaleY(442),ScaleX(470),ScaleY(1)); Bevel1.SetBounds(ScaleX(0),ScaleY(0),ScaleX(470),ScaleY(1)); BackButton.SetBounds(ScaleX(227),ScaleY(447),ScaleX(80),ScaleY(25)); NextButton.SetBounds(ScaleX(307),ScaleY(447),ScaleX(80),ScaleY(25)); CancelButton.SetBounds(ScaleX(387),ScaleY(447),ScaleX(80),ScaleY(25)); //*************************************************************************// for i:=0 to 3 do begin DXbtn[i]:=TNewButton.Create(WizardForm); with DXbtn[i] do begin Parent := WizardForm; SetBounds(ScaleX(3+i*30),ScaleY(443),ScaleX(35),ScaleY(20)); Font.Size:=10; case i of 0:begin Font.Name:='Webdings'; Caption := '4'; end; //*****************************// 1:begin Font.Name:='Symbol'; Caption := 'Ы'; Enabled:=False; end; //*****************************// 2:begin Caption := '-'; end; //*****************************// 3:begin Caption := '+'; end; //*****************************// end; OnClick := @DXbtnClick; end; end; WelcomeLabel1.Hide; WelcomeLabel2.Hide; DiskSpaceLabel.Top := ScaleY(150); SelectComponentsLabel.SetBounds(ScaleX(0),ScaleY(1),ScaleX(425),ScaleY(40)); TypesCombo.SetBounds(ScaleX(0),ScaleY(50),ScaleX(425),ScaleY(21)); ComponentsList.SetBounds(ScaleX(0),ScaleY(75),ScaleX(425),ScaleY(90)); NoIconsCheck.Top := ScaleY(150); TasksList.SetBounds(ScaleX(0),ScaleY(75),ScaleX(425),ScaleY(90)); TasksList.Color:=clWhite; TasksList.BorderStyle:=bsSingle; SelectTasksLabel.Width := ScaleX(465); ReadyMemo.SetBounds(ScaleX(0),ScaleY(50),ScaleX(425),ScaleY(115)); ReadyMemo.Color:=clWhite; ReadyMemo.BorderStyle:=bsSingle; ReadyLabel.Width := ScaleX(465); FilenameLabel.SetBounds(ScaleX(0),ScaleY(110),ScaleX(425),ScaleY(14)); StatusLabel.SetBounds(ScaleX(0),ScaleY(90),ScaleX(425),ScaleY(14)); ProgressGauge.SetBounds(ScaleX(0),ScaleY(130),ScaleX(425),ScaleY(20)); FinishedHeadingLabel.SetBounds(ScaleX(25),ScaleY(5),ScaleX(425),ScaleY(14)); FinishedLabel.SetBounds(ScaleX(25),ScaleY(65),ScaleX(425),ScaleY(14)); //******************************************************************************// ExtractTemporaryFile('{#Video}'); Portal := DXvideoAdd(Handle,ExpandConstant('{tmp}\{#Video}'),-2000,ScaleX(0),ScaleY(0),ScaleX(480),ScaleY(272),73); end; showvid:= True; showvid1:= True; DXvideoInit; end; procedure DeinitializeSetup(); begin DXvideoFree; end; Quote Share this post Link to post Short link Share on other sites