递归火山软件开发平台

标题: 求助:关于外部取类中循环变量的问题 [打印本页]

作者: qjayfeng0    时间: 2024-1-24 18:03
标题: 求助:关于外部取类中循环变量的问题
本帖最后由 qjayfeng0 于 2024-1-24 18:03 编辑

创建一个类,在类里面用循环,外部时钟要实时 读取 类运行中的(取循环索引()的值),这个索引外部总是取不出来,求助,谢谢!!
作者: 承易    时间: 2024-1-24 19:08
类 对像 我是一直就晕晕呼呼的 习惯了过程式 ,而对像式 就没那快转过来
作者: 创世魂    时间: 2024-1-24 21:47
这种问题直接截图代码描述。。不然估计没有几个人能听得懂。
作者: Xelloss0618    时间: 2024-1-24 22:50
如果你的循环运行在主线程里,在循环里加上处理事件即可
作者: tmf19901124    时间: 2024-1-25 12:33
取循环索引()是循环里面一个局部变量,外部咋取啊?除非直接当返回值返回
作者: wangvoldp    时间: 2024-1-25 12:36
很神奇的操作, 你给代码贴出来看看你想干什么
作者: qjayfeng0    时间: 2024-1-25 13:44
不知怎么贴照片,也不知怎么上传附件

作者: qjayfeng0    时间: 2024-1-25 13:45
<火山程序 类型 = "通常" 版本 = 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
你都没弄明白面向对象是什么,你时钟里取的是另一个实例。



<火山程序 类型 = "通常" 版本 = 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
Xelloss0618 发表于 2024-1-25 14:29
你都没弄明白面向对象是什么,你时钟里取的是另一个实例。

阔以了,可以跑起来,值也正确,谢谢!!
作者: wangvoldp    时间: 2024-1-25 18:09
居然还能这样操作,,, 你干脆弄个1秒的时钟不就行了, 还用什么处理事件啊
作者: qjayfeng0    时间: 2024-1-26 07:21
wangvoldp 发表于 2024-1-25 18:09
居然还能这样操作,,, 你干脆弄个1秒的时钟不就行了, 还用什么处理事件啊

不加处理事件,程序就会假死,加了就好了。我也不知处理事件的原理是什么。




欢迎光临 递归火山软件开发平台 (https://bbs.voldp.com/) Powered by Discuz! X3.4