Проблема Проблема компиляции

tihiy_don

Старожил
Попытался скомпилить мой проект, который работал на 6.2.2. на версии VCL 6.2.2 - вылезла ошибка bkNone. Судя по описанию из гитхаба проблема была устранена или всё-таки нет?
1684323719640.png
 

Andreo Fadio

Старожил
@tihiy_don, здесь вам не точная копия расширенной китайской версии, а частичные возможности в своем исполнение.
А вот делать индификатор IS_ENHANCED по-умолчанию как в старой версии, какое-то сомнительное решение.

Ваша ошибка связана с FMX скриптом и этой строкой то что реагирует на индификатор:
Код:
#ifdef IS_ENHANCED
  TBrushKind    = (bkNone, bkSolid, bkGradient, bkBitmap, bkResource);
#endif
закомментируйте ее так:
Код:
#if VER < 0x06000000
#ifdef IS_ENHANCED
  TBrushKind    = (bkNone, bkSolid, bkGradient, bkBitmap, bkResource);
#endif
#endif
 

tihiy_don

Старожил
@Andreo Fadio, Так я использовал не расширенную, а обычную 6.2.2 и всё работало. Решил просто попробовать на этой версии запуститься.
 

Andreo Fadio

Старожил
Так я использовал не расширенную, а обычную 6.2.2 и всё работало.
Под эту версию никто не подстраивался. Но она распознается как китайская из-за индификатора (но чего-то здесь нет как в китайской, а что-то работает иначе, а что-то работает также)
 

tihiy_don

Старожил
Не подстраивался, но всё работало, интересно. Я думал данная версия VCL 6.2.2 просто расширяет функционал 6.2.2 версии своими фишками.
Получается, что стандартная 6.2.2 просто игнорировала этот фрагмент кода?
 

Da-Bro

Мимокрокодил
в 6 версии данная функция заменена на FlipSizeAndCenterIfNeeded
Заменил CenterInsideControl на FlipSizeAndCenterIfNeeded и компилятор выдаёт ошибку: Invalid number of parameters.
Что-то не так...
Код:
procedure DirBrowseButtonClick(Sender: TObject);                             //

  begin                                                                      //

    DirBrowseForm := CreateCustomForm();                                     //   ФОРМА

  with DirBrowseForm do begin                                                //

    ClientWidth   := ScaleX(349);                                            //

    ClientHeight  := ScaleY(337);                                            //

    BorderStyle   := bsSingle;                                               //

    BorderIcons   := [biSystemMenu];                                         //

    FlipSizeAndCenterIfNeeded(WizardForm, False);                          //

    Caption := CustomMessage('BrowseForFolder');

    onClose       :=@FormCloseDir;                                           //
 

Da-Bro

Мимокрокодил
там используется на 1 дополнительно параметр больше
Вот, это поворот. Работает. Спасибо!

Да делаю в Inno Setup 6.0.5 VCL R xp, всё устраивает и неохота из-за мелочи на пятую расширенную переходить.

С этим бы ещё "SelectLanguageForm" проблемка решилась и нормально бы было.

Код:
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
procedure LangChange(Sender : TObject);                                                                        //
var                                                                                                            //
 i : integer;                                                                                                  //
//-------------------------------------------------------------------------------------------------------------//
begin                                                                                                          //
 i := SelectLanguageForm.LangCombo.ItemIndex;                                                                  //
   case TNewComboBox(Sender).ItemIndex of                                                                      //
    0: begin                                                                                                   //
      with SelectLanguageForm do begin                                                                         //
        SelectLabel.Caption := 'Select the language to use during the installation:';                          //
        CancelButton.Caption := 'Cancel';                                                                      //
        Caption := 'Select Setup Language';                                                                    //
      end;                                                                                                     //
    end;                                                                                                       //
//-------------------------------------------------------------------------------------------------------------//
    1: begin                                                                                                   //
      with SelectLanguageForm do begin                                                                         //
        SelectLabel.Caption := 'Выберите язык, который будет использован в процессе установки:';               //
        CancelButton.Caption := 'Отмена';                                                                      //
        Caption := 'Выберите язык установки';                                                                  //
      end;                                                                                                     //
    end;                                                                                                       //
  end;                                                                                                         //
end;                                                                                                           //
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////
 

Da-Bro

Мимокрокодил
можно ее не задействовать, а сделать иначе...
Вроде работает. Но там всё так понакручено. Не пойму что именно к форме окна там нужно, а что лишнее.
Ну botva2.dll понятно нужна. VclStyles.dll лишнее. А CallbackCtrl.dll и WinTBP.dll со скриптом и скрипт ExecAndWait.iss тоже к окну относятся или лишние. Что там убрать чтобы мертвым грузом не висело подскажите пожалуйста.
 

Andreo Fadio

Старожил
Ну botva2.dll понятно нужна.
можно не использовать... А переделать на сам расширенный inno
функционал можно перенести на сам Inno Setup, а если botva2.dll не используется то не нужен.
WinTBP.dll со скриптом
не нужно... отрабатывается самой расширенной Inno Setup читаем readme от автора в комплекте как задействовать.
скрипт ExecAndWait.iss
нужен для перезапуска.
VclStyles.dll лишнее.
да, отрабатывается самим расширенным inno
не висело подскажите пожалуйста
вот к примеру так (все связанное с формой выбора перенесено в отдельный скрипт, чтобы вам видно было что адаптировать в своем скрипте):
 

Вложения

Da-Bro

Мимокрокодил
вот к примеру так (все связанное с формой выбора перенесено в отдельный скрипт, чтобы вам видно было что адаптировать в своем скрипте):
Спасибо. Так более менее понятней.
Подскажите пожалуйста, вот в скрипте стиль
SetupStyleFile=include\Carbon.vsf
Кнопки OK, Далее, Установить, Завершить при наведении курсора "активные".
А вот если я беру стили из папки Styles, например
SetupStyleFile = "compiler:Styles\Windows10BlackPearl.vsf"
то уже при наведении курсора кнопки Далее, Установить, Завершить... "мертвые" пока на них не нажмешь.
Это как-то от скина зависит или от чего ещё.
 
Последнее редактирование:

Andreo Fadio

Старожил
то уже при наведении курсора кнопки Далее, Установить, Завершить...
на эту кнопку работает фокусировка, а то что эффект наведения и эффект выделения одно и тоже - это уже скин сам такой.
 
Последнее редактирование:

Da-Bro

Мимокрокодил
вот к примеру так (все связанное с формой выбора перенесено в отдельный скрипт, чтобы вам видно было что адаптировать в своем скрипте):
В окошке выбора языка в левом верхнем углу отсутствует значок, название и версия программы.
Подскажите пожалуйста как вернуть это всё обратно.
2023-05-18_221553.png
 

HandyMan

Новичок

Вложения

Da-Bro

Мимокрокодил
вот так, заменить файл LangForm.iss:
Теперь нормально. Спасибо.

на эту кнопку работает фокусировка, а то что эффект наведения и эффект выделения одно и тоже - это уже скин сам такой.
Хотел попросить ещё помочь с этими скинами.
Вот например в стиле Carbon.vsf вроде с кнопками всё нормально отображается и выделяется при наведении курсором.
Но вот с разными стилями из папки Styles с кнопками непонятно, наверно так и задумано.
При выборе языка видна точечная обводка. При перещелкивании чекбоксов тоже это точечное выделение-обводка. Кнопки Далее на странице приветствия нормальная "живая", а на остальных страницах кнопки Далее, Установить, Завершить... "мертвые" пока на них не нажмешь.
Помогите пожалуйста избавиться от этого точечного выделения-обводки, чтобы его совсем не было. Или цвет у точек на черный поменять под фон чтобы заметны не были.
И сделать бы кнопки "кликабельные" чтобы были как у стиля Carbon.vsf.

На крайняк хотя бы совсем убрать эту аномалию точечное выделение-обводку. Или цвет у точек на черный поменять под фон чтобы заметны не были. С ней как-то совсем не презентабельно скин смотрится.

Пробовал методом тыка через BitmapStyleDesigner, но там для меня тёмный лес.
 
Последнее редактирование:
Сверху