问题
I am trying to create a new installer using InnoSetup 5.5.8 (u) and skinned using CodeJock's ISSkin v3.0.0. I am using one of the provided example skins (Office 2007 Black) applied by copying the code example from their website (http://isskin.codejock.com/gettingstarted.asp).
I am having some issues on our license agreement page. We currently show this using an RTF file in the default wizard screen. The problem is that on some machines we're getting text ('bef') showing instead of the skinned scrollbar:
The text (which is probably part of an error message) is also unreliable, as sometimes I see an unskinned, disabled scrollbar instead.
I reliably see the expected skin version on my main dev VM (Windows 8 Pro, Delphi and InnoSetup/ISSkin installed) and it's intermittent on my host machine (Win 10, no development software installed)
Has anyone encountered anything like this and got a decent fix/workaround? I have confirmed that removing the skinning code provides a working scrollbar, so that provides a workable solution for now.
回答1:
This looks like a bug in skinning mechanism but the 'bef' is really weird I have never seen that. What official support says?
Maybe you could try to update/invalidate the component so the scrollbar is redrawn correctly.
Also you can try the Graphical Installer (http://www.graphical-installer.com) which is different skinning mechanism and check for this behavior there (sorry for little self promo :)
回答2:
My solution for plaintext format:
procedure InitializeWizard();
var
NewLicenseMemo: TMemo;
begin
WizardForm.LicenseMemo.Visible := false;
NewLicenseMemo := TMemo.Create(WizardForm);
with NewLicenseMemo do
begin
Parent := WizardForm.LicenseMemo.Parent;
Left := WizardForm.LicenseMemo.Left;
Top := WizardForm.LicenseMemo.Top;
Width := WizardForm.LicenseMemo.Width;
Height := WizardForm.LicenseMemo.Height;
Text := WizardForm.LicenseMemo.Text;
ReadOnly := True;
ScrollBars := ssVertical;
end;
end;
来源:https://stackoverflow.com/questions/35311258/skinned-innosetup-showing-text-instead-of-scrollbar