我试图检查java 8是否在注册表中,或者java 9-11是否在注册表中,因此我编写了以下脚本:
[Code]
{ Script to check if a JRE is installed, it will search for the old java 8 location and for the new java 11 location }
function InitializeSetup(): Boolean;
var
ErrorCode: Integer;
JavaVer: string;
begin
{ checking for old java 8 location }
RegQueryStringValue(
HKLM64, 'SOFTWARE\JavaSoft\Java Runtime Environment', 'CurrentVersion', JavaVer);
ResultOldJava := (Length(JavaVer) > 0);
{ checking for new java 9-11 location }
RegQueryStringValue(
HKLM64, 'SOFTWARE\JavaSoft\JDK', 'CurrentVersion', JavaVer);
ResultNewJava := (Length(JavaVer) > 0);
if not ResultOldJava and not ResultNewJava then
begin
if MsgBox('ATENCIÓN: Gestor requiere Java 64 Bits instalado en el sistema. No se ha encontrado, ¿Desea abrir la página de descargas oficial? Por favor, recuerde que es necesaria la versión de 64 bits.', mbConfirmation, MB_YESNO) = idYes then
begin
ShellExec(
'open', 'https://www.java.com/es/download/manual.jsp#win',
'', '', SW_SHOWNORMAL, ewNoWait, ErrorCode);
end;
end;
end;问题是它正在打印这个错误:
Unknown Identifier 'ResultOldJava'怎么啦?我在帕斯卡的技能很低
发布于 2019-03-08 13:50:17
您已经声明了ResultOldJava变量,就像您已经声明了ErrorCode和JavaVer一样
function InitializeSetup(): Boolean;
var
ErrorCode: Integer;
JavaVer: string;
ResultOldJava: Boolean;
begin对于带着相同错误消息到达这里的其他人,但使用的是function或procedure调用,而不是变量标识符,请参见https://stackoverflow.com/q/36567129/850848。
https://stackoverflow.com/questions/55064157
复制相似问题