我安装了最新版本的Inno Setup v5.5.8(a),现在我无法WizardImageFile在安装向导中查看位图文件.它在以前的版本中运行得很好.我做错了什么或它的错误?这是我在Inno Setup向导的帮助下创建的脚本示例.
当然,它setup_inno.bmp和setup_inno_small.bmpiss脚本文件位于同一个文件夹中.小图像工作得很好,setup_inno.bmp是24位色深(Windows格式),宽度和高度为164X314像素.
有什么建议?
问候,
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppPublisher "My Company, Inc."
#define MyAppURL "http://www.example.com/"
#define MyAppExeName "MyProg.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To …Run Code Online (Sandbox Code Playgroud) 是否有像returnC 中那样的命令/结构立即从 Inno Setup 脚本代码的函数退出并保留结果代码?
我想要一些东西
If k = false then
Begin
Result:=false;
Exit;
End;
Run Code Online (Sandbox Code Playgroud) 卸载时使用以下代码
BitmapImage := TBitmapImage.Create(InstallTopPanel);
BitmapImage.AutoSize := True;
BitmapImage.Bitmap.LoadFromFile(
ExpandConstant( '{tmp}\WizardSmallImageFile.bmp') );
BitmapImage.Parent := InstallTopPanel;
BitmapImage.Top := (InstallTopPanel.ClientHeight - 58) / 2;
BitmapImage.Left := InstallTopPanel.ClientWidth - 55 - 10;
Run Code Online (Sandbox Code Playgroud)
我收到错误:
异常:无法打开文件。C:\users\xyz\AppData\Local\Temp\is-U3Q8P.tmp\WizardSmallImageFile.Bmp。文件未找到。
我还尝试ExtractTemporaryFile在调用之前使用LoadFromFile卸载过程中不支持的功能。
ExtractTemporaryFile('WizardSmallImageFile.bmp');
Run Code Online (Sandbox Code Playgroud)
那么问题来了,如何查看图像或特别WizardSmallImageFile是在卸载过程中?
我上面的代码构建了一个带有自定义面板的自定义表单。就像这里:Inno Setup 仅卸载一些组件。
看http://ref.x86asm.net/coder32.html我发现两个匹配语句的操作码
xor eax,eax
1)操作码31 XOR r/m16/32 r16/32
2)操作码33 XOR r16/32 r/m16/32
两者都指操作数1和操作数2的32位寄存器.那么,XORing两个32位寄存器的这种特殊情况有什么不同吗?
我可以在[CustomMessages]节中添加 CRLF(回车 + 换行)吗?
问候。
我在下面看到了以下代码,我有点困惑.
int**** m_ppppCoder;
m_ppppCoder = new int ***[10];
Run Code Online (Sandbox Code Playgroud)
这是一个动态分配的3维int数组吗?有人可以准确解释,它是如何工作的?
阅读注释后添加:上面的声明本身不是一个完整的3d int数组,而是具有数组创建第一步的声明结构.根据这一点,使用下面的代码,您可以动态创建一个3d数组.那是对的吗 ?
m_ppppCoder[0] = new int **[10];
m_ppppCoder[0][0] = new int *[10];
m_ppppCoder[0][0][0] = new int[10];
Run Code Online (Sandbox Code Playgroud)
在这种情况下,实际数据如何在存储器内排列(分配),即顺序?
我有两个cpp类让我们说ClassA和ClassB.我有两个指针,相应地指向那些类,让我们说指针A和指针B. 现在我有一个通用的void*指针,我想根据某些条件指向ClassA或ClassB.在这种情况下获取错误错误C2227:' - > GetPosition'的左边必须指向类/ struct/union /泛型类型是'void*'.
如何避免这种错误?
ClassA {
void GetPosition();
}
ClassB {
void GetPosition();
}
main() {
ClassA *pointerA;
ClassB *pointerB;
void *generic_pointerAorB;
pointerA = GetAddrOfClassA();
pointerB = GetAddrOfClassB()
generic_pointer = pointerA;
//********************** error at the code below ******************************
//error C2227: left of '->GetPosition' must point to class/struct/union/generic type.
//type is 'void *'
generic_pointer->GetPosition();
//*****************************************************************************
}
Run Code Online (Sandbox Code Playgroud) inno-setup ×4
c++ ×2
pascalscript ×2
arrays ×1
assembly ×1
image ×1
installation ×1
memory ×1
new-operator ×1
opcode ×1
pointers ×1
return-value ×1
x86 ×1
xor ×1