inno-setup – 如何执行Inno Select语言对话框之前的代码

inno-setup – 如何执行Inno Select语言对话框之前的代码,第1张

概述我需要在显示Select Setup语言对话框之前执行pascal代码,遗憾的是之后执行InitializeSetup事件. function InitializeSetup(): Boolean; //This event occurs to latebegin DoSomething(); Result := True;end; 那么在显示Select Setup语言对话 我需要在显示Select Setup语言对话框之前执行pascal代码,遗憾的是之后执行InitializeSetup事件.

function InitializeSetup(): Boolean; //This event occurs to latebegin    DoSomething();     Result := True;end;

那么在显示Select Setup语言对话框之前可以执行脚本代码吗?

解决方法 我有类似的问题,我想到了不同的解决方法:手动设置所有设置,或者进行内部本地化,但它们从一开始就看起来如此注定.
Select Setup language Dialog

我已经分叉了issrc,在本地构建它,并查看了Setup项目的main.pas.我看到现在这样做的想法:人们可能想在InitializeSetup中使用{Language},因此在AskForLanguage方法之后调用它.

为了检查这个想法,我对main.pas做了一些小改动:在CodeRunner inited和InitializeSetup调用之后调用AskForLanguage.我得到了VCL的选择设置语言对话框,但不是全部 – 非客户区域不是VCL:

我试图继承语言形式不是来自TForm类,而是来自TSetupForm,或者在设置过程中调用它或进行其他更改 – 没有结果.如果有人知道为什么它不是VCL’ – 请告诉我!

然后我阅读了Custom Window Frame Using DWM文章,并将表格边框设为bsNone并得到了这个:

所以现在我很好.在许多样式设置页面之前没有样式的那种形式是如此……令人讨厌.

如果我们想以正确的方式做到这一点,我想所有需要做的事情 – 在AskForLanguage之前移动CodeRunner init,并添加一个像StyleInit这样的自定义代码函数.然后所有人都会很高兴:{语言}将在InitializeSetup中可用,Dialog将是VCL.

总结

以上是内存溢出为你收集整理的inno-setup – 如何执行Inno Select语言对话框之前的代码全部内容,希望文章能够帮你解决inno-setup – 如何执行Inno Select语言对话框之前的代码所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1273487.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存