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


金字塔客服中心 - 专业程序化交易软件提供商金字塔软件高级功能研发区 → VBA编译时提示框架内代码缺少语句,为何?

   

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


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

主题:VBA编译时提示框架内代码缺少语句,为何?

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


加好友 发短信
等级:新手上路 帖子:51 积分:90 威望:0 精华:0 注册:2012/4/23 21:34:35
VBA编译时提示框架内代码缺少语句,为何?  发帖心情 Post By:2015/12/26 20:00:51 [只看该作者]

编写一个自定义函数,在编译时提示‘1024’错误,显示Technic框架内代码缺少语句,显示如下:

1  '由于框架内的代码作用于全局,并且不会随着工程项目切换,
2  '因此建议框架对象内的代码只编写与本框架事件有关的代码,不要使用作用于整个工程的变量及过程函数。
3
4  Sub MainFrame9_ChangeStock(Grid, Code, Market, Result)
5     if MoreCyc.HasVisible = 1 then
6         call morecyc.GetGridByName("Window1").ChangeStock(code,market)
7         call morecyc.GetGridByName("Window5").ChangeStock(code,market)
8         call morecyc.GetGridByName("Window2").ChangeStock(code,market)
9         call morecyc.GetGridByName("Window7").ChangeStock(code,market)
10       call morecyc.GetGridByName("Window8").ChangeStock(code,market)
11       call morecyc.GetGridByName("Window9").ChangeStock(code,market)
12       call morecyc.GetGridByName("Window3").ChangeStock(code,market)
13       call morecyc.GetGridByName("Window6").ChangeStock(code,market)
14       call morecyc.GetGridByName("Window4").ChangeStock(code,market)
15       morecyc.InitAllGrid
16    end if
17  End Sub
18
19  Sub Technic_RemoveFormula(Grid, FormulaName, Result)
20     if Grid.name = "Main" and FormulaName = "MAIN" then
21   result = 1
22  end if
23  End Sub

提示第9行出错。但是我并没有对框架代码进行过编辑,这是什么原因?

另外,现在VBA的调试菜单怎么调不出来了?


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2015/12/27 18:41:23 [只看该作者]

检查一下是否存在Window7这个窗格


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
ssfy_hf
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:51 积分:90 威望:0 精华:0 注册:2012/4/23 21:34:35
  发帖心情 Post By:2015/12/28 21:59:46 [只看该作者]

没有,而且把整个1—23行都注释掉之后编译还提示编译器错误‘1024’,真是奇怪了

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


加好友 发短信
等级:新手上路 帖子:51 积分:90 威望:0 精华:0 注册:2012/4/23 21:34:35
  发帖心情 Post By:2015/12/28 22:08:01 [只看该作者]

当我把Technic框架本项目移除后,就会显示另一个框架代码在第三行缺少语句,一直编译不成功


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


加好友 发短信
等级:罗宾汉 帖子:11808 积分:20695 威望:0 精华:10 注册:2009/8/18 8:15:13
  发帖心情 Post By:2015/12/28 22:24:42 [只看该作者]

可能是VBA的工程代码被你给改乱了,建议你重新新建一个VBA的项目工程,让系统重新初始化VBA的环境状态


金字塔—专业程序化软件提供商

金字塔-技术部

-----------------------------------------------------------------------------------------------------

工作时间:周一至周五 08:30 - 17:30   周末及法定节假日休息

Email:service@weistock.com
 回到顶部
帅哥哟,离线,有人找我吗?
ssfy_hf
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:新手上路 帖子:51 积分:90 威望:0 精华:0 注册:2012/4/23 21:34:35
  发帖心情 Post By:2016/1/2 15:16:14 [只看该作者]

问题查找到了,是自定义函数内部编写错误,问题是金字塔在发现编译错误时,不能在有问题的那行代码显示错误,而是在另外框架函数页面显示,这样一是不能帮助编写者找到问题所在之处,更容易引起误会,还请修正。

 回到顶部