关于火山方法名静态的问题
我在火山视窗里面 用一个线程调用 一个方法那么前提这个方法必须是静态才可以那么问题来了我又一个类的成员在普通方法里面可以调用 但是在静态类里面就无法调用了怎么解决》
如果让静态的方法里面调用一个类的成员变量呢?
取程序().类变量.成员 = 1
或者使用这个https://bbs.voldp.com/thread-22654-1-1.html
或者类对象指针过去.. 比如 启动线程(取静态方法(xxx),本对象.取对象指针())
xxx(对象指针){
读指针处对象(对象指针,当前类名称).成员 = 1
} 小蜗牛 发表于 2024-8-2 05:15
取程序().类变量.成员 = 1
或者使用这个https://bbs.voldp.com/thread-22654-1-1.html
或者类对象指针过去. ...
取程序()我已经公开类了但还是取不到 变量啊 qiken 发表于 2024-8-2 08:39
取程序()我已经公开类了但还是取不到 变量啊
变量需要公开 创世魂 发表于 2024-8-2 09:18
变量需要公开
变量也已经公开了老师 但还是取不到什么情况? 取程序 返回的是启动类,你的类变量需要能在启动类那边一路访问过来。
线程访问成员变量,还有几个方法。
一、可以用官方的「线程类」,线程方法是在接收事件里编写,可以直接访问类成员变量(注意加锁);
二、用PIV模块或火山模块的 启动动态线程,支持启动类的动态方法,自然也能访问类成员,还支持按值传递任意类型和数量的参数; Xelloss0618 发表于 2024-8-2 09:32
取程序 返回的是启动类,你的类变量需要能在启动类那边一路访问过来。
线程访问成员变量,还有几个方法。
...
你好 我用了你说的线程类 事件里调用这个办法可以了 ,但是事件里面这种线程和启动线程命令不知道有没有区别,还有用事件里线程,好像不能线程等待啊第2种动态线程调用我试了下 好像有点难度 可以写个简单例子啊 谢谢 线程类和启动线程没什么区别,也就封装的方式不同。
另外线程等待是啥?线程里直接用延时就行了,其他都是没什么意义的。
<火山程序 类型 = "通常" 版本 = 1 />
类 案例 <公开 折叠>
{
变量 测试对象 <类型 = 测试类>
变量 成员变量 <类型 = 整数>
方法 例子 <公开>
{
启动动态线程 (本对象, "funcA", "你好", 文本到字节集 ("火山"))
启动无参数动态线程 (测试对象, "funcB")
}
方法 方法A <静态 折叠 @输出名 = "funcA" @强制输出 = 真>
参数 参数1 <类型 = 文本型>
参数 参数2 <类型 = 字节集类>
{
调试输出 (成员变量, 参数1, 参数2)
}
}
类 测试类 <折叠>
{
变量 变量 <公开 类型 = 整数>
方法 方法 <公开 类型 = 整数 @输出名 = "funcB" @强制输出 = 真>
{
返回 (变量 * 2)
}
#
}
更多例子看例程:https://saier.lanzoul.com/b016cwvle
Xelloss0618 发表于 2024-8-2 09:58
线程类和启动线程没什么区别,也就封装的方式不同。
另外线程等待是啥?线程里直接用延时就行了,其他都是 ...
用了你说的线程类事件 经过测试,我发现一个很大问题,就是第一次执行线程类事件时候,如果在线程里面没有退出,比如一直在循环,那么如果再次启动一个线程事件进入就会导致,卡死的现象。或者用了线程,停止命令一样卡死,怎么解决? 也就是说只能执行一次这种线程类事件,第2次就算停止从新执行也会直接卡死 Xelloss0618 发表于 2024-8-2 09:32
取程序 返回的是启动类,你的类变量需要能在启动类那边一路访问过来。
线程访问成员变量,还有几个方法。
...
线程类事件无法结束。用线程类,停止命令直接卡主不知道怎么解决
页:
[1]
2