以文本方式查看主题

-  金字塔客服中心 - 专业程序化交易软件提供商  (http://www.weistock.com/bbs/index.asp)
--  金字塔软件问题提交  (http://www.weistock.com/bbs/list.asp?boardid=2)
----  [求助]Application.ActivateFrameWithCode的怪异行为  (http://www.weistock.com/bbs/dispbbs.asp?boardid=2&id=141972)

--  作者:逸飞
--  发布时间:2016/10/30 22:02:40
--  [求助]Application.ActivateFrameWithCode的怪异行为
需求说明:
我设计了一个多窗格的框架,每个窗格展示一个股票或指数的k线,希望按住CTRL键单击某个窗格的时候,能在另一个框架中打开该窗格对应标的的图形。演示中直接使用Technic作为目标框架。

最终效果:
打开目标框架并展示对应标的图形是没有问题的。但是,回到我这个多窗格的演示框架发现,图形展示时间段莫名其妙的会跑了。

问题重现步骤:
1、设计一个简单的4格框架,命名为test,每个窗格都是主图,插入内容都是k线主图:
图片点击可在新窗口打开查看

2、框架属性中设置4个窗格联动:
图片点击可在新窗口打开查看

3、编辑该框架代码,所有内容如下:
Sub test_MouseDown(Button, Shift, x, y)
if Button = 1 and Shift = 2 then
DstFrame = "Technic"
Set Grid = Application.GetActiveGrid
Set Market = Grid.GetMarketInfo

Call Application.ActivateFrameWithCode(DstFrame, Grid.StockLabel, Market.Id, -1)
end if
End Sub

4、依次将4个窗格设置为四个指数,展示周期都设置为15分钟,缩放到如下状态,便于测试:(留意当前框架中每个窗格显示的k线时间是7月28日到最后一个交易日)
我在上证指数所在窗格红箭头所示位置进行“按住CTRL键+鼠标左键单击”操作,如愿打开了“Technic”框架并展示了上证指数的图形。
图片点击可在新窗口打开查看


5、问题来了,当切回test框架发现现在4个图形的展示时间段都变成7月8日到9月1日。
图片点击可在新窗口打开查看

为什么会这样?



--  作者:逸飞
--  发布时间:2016/10/30 22:08:20
--  
实际上,上面代码中替换为Application.ActivateFrame也有一样的问题。
--  作者:逸飞
--  发布时间:2016/10/30 22:11:42
--  
另外,我在最新4.00 BETA3中测试,一样有这个问题。

软件都是32位版本,win7 64位系统和xp32位系统下都一样的问题。

--  作者:yukizzc
--  发布时间:2016/10/31 10:49:51
--  

行情服务器连接着,我这边使用都正常

如有疑问加我qq远程看下

2857926939