欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → 请教:类调用的问题

   

欢迎使用金字塔普通技术服务论坛,您可以在相关区域发表技术支持贴。
我司技术服务人员将优先处理 VIP客服论坛 服务贴,普通区问题处理速度慢,请耐心等待。谢谢您对我们的支持与理解。    


  共有4776人关注过本帖树形打印复制链接

主题:请教:类调用的问题

帅哥哟,离线,有人找我吗?
volersky
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:109 积分:764 威望:0 精华:0 注册:2010/6/27 14:04:16
[求助]希望帮忙做个交易记录复盘导入的指标。  发帖心情 Post By:2010/7/24 21:46:19 [只看该作者]

新建一个类mtest:
Public mystr

新建框架Frame1:
Dim x,Grid
Sub Frame1_Initialize()
Set x=New mtest
x.myStr="hello"
End Sub



Sub Frame1_Paint()
Set Grid=Frame1.ActiveGrid
Grid.DrawText 100,100,x.myStr,rgb(255,0,0)
End Sub

问题:我另有一个自写的框架,如果我把另一个注释掉,这个能成功运行 如果另一个不注释掉,这个运行后显示"hello"后程序卡死。
这里面所有的变量除Grid外都不重名。
而且我发现如果有两个框架代码都不少的情况下,运行时会交叉。
我在A框架采用的是类对象实现,在B框架里是过程与函数实现,但单独调用B框架时,B框架会莫名其妙调用A框架的输出内容,按理说我框架内采用Dim定义的变量作用域应该在框架内生效,怎么会交叉呢?
当框架A与框架B同时存在时,调用其中任何一个框架,再切换另一个后,刚才始是正常的,运行一段时间(或长或短),再次进行切换,框架的Paint函数失效,不输出任何内容,然后点停止运行vbs,程序卡死。我试了四五次都这样

一些操作上的说明与猜想:
只是把B框架里所有的过程变量封装成一个类,然后在A框架内用对象的方式来执行,删除任何一个后或从未切换框架时,都能正常稳定运行。
A框架的类是在application.start里进行初始化的
当我A框架与B框架的表是一样的时候,在A框架注释掉所有的内容后,用A框架的表切换框架的品种,会自动切换到B框架,所有的分组均设为1,表于A框架设计之前在B框架内先行设计的(表只是复制了默认表,然后仅删除了名称一项)。
如果在A框架内不使用在表切换品种方式进行切换,A框架运行正常。
如果A框架与B框架同时生效,这时候就A框架内调用表就发生了上述问题,但我感觉这种切换后,是同时执行了A和B框架,以至于我认为是交叉输出。因为我的A框架与B框架唯一不同的,是多了一行输出文字。 br/> 版本号:1.983。br/>
不好意思,我用的谷歌浏览器,没办法看见代码与设计模式,排版很混乱,下次我换一个能看见代码模式与设计模式。
[此贴子已经被作者于2010-7-24 22:15:23编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
admin
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
  发帖心情 Post By:2010/7/25 16:29:09 [只看该作者]

问题提的很好,这个问题金字塔没有进行特别说明。

金字塔目前兼容的是VBS语法,不是OFFICE 的VBA,所以除了类模块外,所有的对象模块的数据都是公用的,框架模块之所以独立是因为方便用户编辑和管理,实际运行代码是合在一起的。


 回到顶部
帅哥哟,离线,有人找我吗?
volersky
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:109 积分:764 威望:0 精华:0 注册:2010/6/27 14:04:16
  发帖心情 Post By:2010/7/25 19:10:13 [只看该作者]

你的意思是,无论我写了多少个框架,最终无论我现在看的是哪个框架,他们都同时执行了,这些包括框架、类模块、标准模块等等所有的代码?

 


 回到顶部
帅哥哟,离线,有人找我吗?
admin
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:管理员 帖子:7302 积分:32559 威望:1000 精华:45 注册:2003/12/30 16:34:32
求助实现指定持仓品种持仓周期  发帖心情 Post By:2010/7/26 1:23:59 [只看该作者]

是的,可以这么理解


 回到顶部
帅哥哟,离线,有人找我吗?
volersky
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:论坛游侠 帖子:109 积分:764 威望:0 精华:0 注册:2010/6/27 14:04:16
  发帖心情 Post By:2010/7/26 8:26:05 [只看该作者]

多谢

 


 回到顶部