qjayfeng0 发表于 2024-1-24 18:03:23

求助:关于外部取类中循环变量的问题

本帖最后由 qjayfeng0 于 2024-1-24 18:03 编辑

创建一个类,在类里面用循环,外部时钟要实时 读取 类运行中的(取循环索引()的值),这个索引外部总是取不出来,求助,谢谢!!

承易 发表于 2024-1-24 19:08:25

类 对像 我是一直就晕晕呼呼的 习惯了过程式 ,而对像式 就没那快转过来

创世魂 发表于 2024-1-24 21:47:09

这种问题直接截图代码描述。。不然估计没有几个人能听得懂。

Xelloss0618 发表于 2024-1-24 22:50:04

如果你的循环运行在主线程里,在循环里加上处理事件即可

tmf19901124 发表于 2024-1-25 12:33:32

取循环索引()是循环里面一个局部变量,外部咋取啊?除非直接当返回值返回

wangvoldp 发表于 2024-1-25 12:36:17

:D 很神奇的操作, 你给代码贴出来看看你想干什么

qjayfeng0 发表于 2024-1-25 13:44:27

不知怎么贴照片,也不知怎么上传附件

qjayfeng0 发表于 2024-1-25 13:45:40

<火山程序 类型 = "通常" 版本 = 1 />

包 火山.程序

类 启动类 <公开 基础类 = 窗口程序类>
{
    变量 主窗口对象 <类型 = 我的主窗口>
    变量 循环测试 <类型 = 类_测试变量>

    方法 启动方法 <公开 类型 = 整数>
    {
      主窗口对象.创建主窗口 ()
      循环测试.循环取数 ()
      返回 (1)
    }
}

# ===

类 类_测试变量 <公开 @全局类 = 真>
{
    变量 次数 <公开 类型 = 整数 值 = 6 编辑时信息 = "0, 4EAA5, 0, 0" "">

    方法 循环取数 <公开 "">
    {
      计次循环 (1000000)
      {
            处理事件 ()
            延时 (1000)
            次数 = 取循环索引 ()


      }
    }
}

类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" @视窗.布局 = "client_size = \"500, 300\"" 标题 = "我的主窗口">
{
    变量 时钟1 <类型 = 时钟 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 101\r\npos = \"109, 38, 64, 64\"" 时钟周期 = 200>

    方法 时钟_周期事件 <接收事件 类型 = 整数 注释 = "每当经过了指定的时钟周期,将发送本事件.">
    参数 来源对象 <类型 = 时钟 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
      如果 (来源对象 == 时钟1)
      {
            变量 测试变量 <类型 = 类_测试变量>

            调试输出 (测试变量.次数)

      }
      返回 (0)








    }
}

Xelloss0618 发表于 2024-1-25 14:29:00

你都没弄明白面向对象是什么,你时钟里取的是另一个实例。



<火山程序 类型 = "通常" 版本 = 1 />

类 启动类 <公开 基础类 = 窗口程序类 折叠>
{
    变量 主窗口对象 <类型 = 我的主窗口>
    变量 循环测试 <公开 类型 = 类_测试变量>

    方法 启动方法 <公开 类型 = 整数 折叠>
    {
      主窗口对象.创建主窗口 ()
      循环测试.循环取数 ()
      返回 (1)
    }
}

类 类_测试变量 <公开 折叠>
{
    变量 次数 <公开 类型 = 整数 值 = 6 编辑时信息 = "0, 4EAA5, 0, 0" "">

    方法 循环取数 <公开 折叠 "">
    {
      计次循环 (1000000)
      {
            处理事件 ()
            延时 (1000)
            次数 = 取循环索引 ()
      }
    }
}

类 我的主窗口 <基础类 = 窗口 注释 = "样例主窗口" 折叠 @视窗.布局 = "client_size = \"500, 300\"" 标题 = "我的主窗口">
{
    变量 时钟1 <类型 = 时钟 折叠2 隐藏值属性 = "0" @视窗.布局 = "id = 101\r\npos = \"109, 38, 64, 64\"" 时钟周期 = 200>

    方法 时钟_周期事件 <接收事件 类型 = 整数 注释 = "每当经过了指定的时钟周期,将发送本事件." 折叠>
    参数 来源对象 <类型 = 时钟 注释 = "提供事件产生的具体来源对象">
    参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
    {
      如果 (来源对象 == 时钟1)
      {
            调试输出 (取程序 ().消息过滤.次数)
      }
      返回 (0)
    }
}

qjayfeng0 发表于 2024-1-25 16:36:13

Xelloss0618 发表于 2024-1-25 14:29
你都没弄明白面向对象是什么,你时钟里取的是另一个实例。




阔以了,可以跑起来,值也正确,谢谢!!:D
页: [1] 2
查看完整版本: 求助:关于外部取类中循环变量的问题