В своем основном скрипте получаю такие ошибки
Вернул обратно предыдущую сборку (т.е. начальную), т.к. в этой "исправленной" полезли другие ошибки.
Как их устранить не понимаю. Возможно вообще придется отказаться от тени для VCL Style или, по крайней мере, только для главной формы.
Пока что, если применяете WizardForm.Position := poScreenCenter, то отключайте тень для главной формы.
при подключении vcl стилей происходит то же самое что и в фмх, на некоторое время появляется окно с пустой формой.
Это мелькает окно тени для VCL Style. Да это побочный эффект применения тени для окон с VCL Style.
Тень для главного окна можно отключить так
code_language.pascal:
ShadowFormOnOff(WizardForm, WizardFormShadow, False);
или так
code_language.pascal:
WizardFormShadow.ShadowOn := False;
Одну из этих команд укажите в процедуре
InitializeWizard().
Это равноценно для обеих последних сборок Inno Setup VCL 6.3.3 и 6.4.0.
Как только что было сказано выше - отключите тень для главной формы.
Можете потом её снова включить, когда закончится инициализация главной формы.
То есть в начале
InitializeWizard() отключаете, а конце включаете.
code_language.pascal:
procedure InitializeWizard();
begin
// Отключаем видимость тени для главной формы
WizardFormShadow.ShadowOn := False;
...
// остальной код...
...
// Включаем видимость тени для главной формы
WizardFormShadow.ShadowOn := True;
end;
Попробуйте и сообщите результат.
а зачем mainform нужно было вообще убирать?
Это вопрос к разбработчику. Как говорит Джордан (автор и ведущий разработчик), "
это древний функционал родом из 90гг прошлого века, который не соответствует современным стандартам установки, поэтому был полностью удалён, окончательно и безвозвратно."
А можно ли в вашей сборке к компоненту TNewStaticText сделать выравнивание текста по ширине (Alignment)
Ну что сказать... Это свойство у компонента есть ещё с самого начала, когда приступил к разработке Inno Setup VCL, но по какой-то причие я это свойство пропустил и не объявил. То есть свойство есть, а доступа к нему нету - исправлю.
И ещё хотелось бы, когда включена прозрачность у TNewStaticText (Transparent := True) чтобы цвет текста можно было бы менять.
Такое же поведение имеет стандартный компонент TStaticText. Как его изменить - не знаю. Возможно это баг Delphi, а может быть так и задумано.
Ну всё то что реализовано у компонента TLabel.
Ну так используйте
TLabel, где вам необходимо!
Поймите, что
TNewStaticText (TStaticText) и
TLabel это наследники разных классов! То что есть в TLabel нельзя вот так просто и запихнуть в TStaticText. Иначе был бы только один компонент без всего этого разнообразия.