zxlzzp 发表于 2026-6-18 15:48:23

各位大佬,例程编译的时候出错,是我版本的问题吗?


例程是论坛的"找图例程合集"里的,编译的时候就提示这个了.

zxlzzp 发表于 2026-6-18 15:49:58

<火山程序 类型 = "通常" 版本 = 1 />
包 火山.自动化.样例 <注释 = "在编译发布版本时请填写自己的包名">

类 启动类 <公开 基础类 = 窗口 注释 = "用户主窗口封装类." 注释 = "此处设置了常用的附加清单属性,如果不需要可删除." @安卓.附加清单 = 常用窗口附加清单.全面屏
      @安卓.附加清单 = 常用附加清单.开启硬件加速 @安卓.附加清单 = 常用窗口附加清单.不改变软键盘状态>
{
    变量 编辑框1 <类型 = 编辑框 隐藏值属性 = "0"
            @安卓.窗口.布局 = "p_layout_width_type = match_parent\np_vert_align = center_vertical\ntext = \"你好,火山!\""
            提示文本 = "发送的内容">
    变量 按钮1 <类型 = 按钮 隐藏值属性 = "0"
            @安卓.窗口.布局 = "ctrl_order = 1\np_horz_align = center_horizontal\np_layout_height_type = wrap_content\np_layout_width_type = match_parent\np_vert_align = center_vertical\ntext = 启动任务">
    变量 按钮2 <类型 = 按钮 隐藏值属性 = "0"
            @安卓.窗口.布局 = "ctrl_order = 2\np_horz_align = center_horizontal\np_layout_width_type = match_parent\np_vert_align = center_vertical\ntext = 停止任务">

    方法 按钮_被单击 <接收事件 类型 = 整数 注释 = "用户在组件上单击事件" 注释 = "注意:"
            注释 = "1. \"按钮\"类别及\"图片按钮\"组件会自动初始设置\"支持单击\"属性为真,不需要单独设置;"
            注释 = "2. 除开上述类别组件外,必须将组件的\"支持单击\"属性设置为真才会发送本事件.">
    参数 来源对象 <类型 = 按钮 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
      如果 (来源对象 == 按钮1)
      {
            变量 任务1 <类型 = 任务类>
            任务1.启动 (文本到对象 (编辑框1.内容), )
      }
      否则 (来源对象 == 按钮2)
      {
            任务1.中断线程 ()
      }
      返回 (0)
    }
}

类 任务类 <公开 基础类 = 线程类>
{
    变量 消息内容 <类型 = 文本型>

    方法 任务类_线程启动 <接收事件 类型 = 整数 注释 = "线程已经启动事件" 注释 = "注意: 此事件的处理方代码将在多线程环境下执行,必须处理好多线程冲突问题.">
    参数 来源对象 <类型 = 任务类 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    参数 用户对象1 <类型 = 对象类 注释 = "提供调用启动方法时所提供的第1个用户对象">
    参数 用户对象2 <类型 = 对象类 注释 = "提供调用启动方法时所提供的第2个用户对象">
    {
      消息内容 = 对象到文本 (用户对象1)
      初始化 ()
      如果 (无障碍服务状态 () == 假)
      {
            启用无障碍服务 ()// 打开设置页
            提示框 ("请找到\"火山程序\"并将其开关打开", )
      }

      等待服务就绪 ()// 阻塞直到服务被打开
      提示框 ("任务已启动,请打开企鹅进入任意聊天页", )
      任务内容 ()
      返回 (0)
    }

    方法 任务内容
    {
      如果 (是否有中断请求 ())
      {
            提示框 ("任务已停止", )
            返回
      }

      变量 QQ编辑框 <类型 = 节点查找器>
      变量 发送按钮 <类型 = 节点查找器>
      QQ编辑框.ID ("com.tencent.mobileqq:id/input").类名 ("android.widget.EditText").包名 ("com.tencent.mobileqq")
      发送按钮.ID ("com.tencent.mobileqq:id/fun_btn").类名 ("android.widget.Button").包名 ("com.tencent.mobileqq")
      判断循环 (是否有中断请求 () == 假)
      {
            QQ编辑框.持续查找单个 ().置文本 ("火山消息火山消息")
            发送按钮.持续查找单个 ().点击 ()
            睡眠当前线程 (2000)
      }

      提示框 ("任务已停止", )
    }
}



编译的时候提示 13: 错误: 没有找到所指定的常量/变量/参数名称"任务1",或者请检查当前位置是否有相关访问权限.

zxlzzp 发表于 2026-6-18 15:52:21

如果 (来源对象 == 按钮1)
局部变量名        类型        静态        参考        初始值        属性名        属性值        备注
任务1        任务类                                               
任务1.启动 (文本到对象 (编辑框1.内容), )
否则 (来源对象 == 按钮2)
任务1.中断线程 ()
否则里的"任务1"和如果里的"任务1"不是同一个?

abcfox 发表于 2026-6-18 20:23:35

可以丢给AI排查错误

benxiaohai 发表于 2026-6-18 21:17:30

这个目测是“任务1”这个变量的作用域出现了问题,应该在启动类的成员变量里声明一个同名的该变量,然后把原来的变量声明给注释了

zxlzzp 发表于 2026-6-20 19:25:24

把变量移动在启动类里,编译能通过,但是点击不生效了.
页: [1]
查看完整版本: 各位大佬,例程编译的时候出错,是我版本的问题吗?