标题:请教关于调用模块的问题,求大神指点
只看楼主
bestsunshine
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2018-7-25
结帖率:0
已结贴  问题点数:20 回复次数:1 
请教关于调用模块的问题,求大神指点
'''窗体代码
Private Sub CmdSat1_Click()   
Dim SatP1 As Double
Dim SatT1 As Double
   SatP1 = Val(Txt_SatP1.Text)
   If SatP1 = 0 Then
       MsgBox ("请先输入饱和压力!")
       Exit Sub
   Else
       SatP = SatP1
   End If
   SaturateT
   SatT1 = SatT(SatP) - 273.15
   Txt_SatT1.Text = SatT1
End Sub
'''模块代码
Global SatP As Double         '饱和压力
Global SatT As Double         '饱和温度
Global SatWH As Double        '饱和水的焓
Global SatStH As Double       '饱和蒸汽的焓
Global NormP As Double        '常规水压力
Global NormT As Double        '常规水温度
Global NormWH As Double       '常规水的焓
Global SupP As Double         '过热蒸汽压力
Global SupT As Double         '过热蒸汽温度
Global SupStH As Double       '过热蒸汽的焓
Global Const R = 0.461526     '水物质的质量气体常数,kJ/(kg.K)
Public Sub SaturateT()          '注饱和压力对应的饱和温度
   Dim Ni(10) As Double   '''''4区(饱和区)指数
   Dim β As Double
   Dim A2 As Double
   Dim B2 As Double
   Dim C2 As Double
   Dim D2 As Double
'''''''''''''''''''4区(饱和区)表3.34(水和蒸汽的性质IAPWS-IF97)''''''''''''''''''''''''''''''''''
   Ni(1) = 0.11670521452767 * 10 ^ 4
   Ni(2) = -0.72421316703206 * 10 ^ 6
   Ni(3) = -0.17073846940092 * 10 ^ 2
   Ni(4) = 0.1202082470247 * 10 ^ 5
   Ni(5) = -0.32325550322333 * 10 ^ 7
   Ni(6) = 0.1491510861353 * 10 ^ 2
   Ni(7) = -0.48232657361591 * 10 ^ 4
   Ni(8) = 0.40511340542057 * 10 ^ 6
   Ni(9) = -0.23855557567849
   Ni(10) = 0.65017534844798 * 10 ^ 3
      β = SatP ^ 0.25
      A2 = β ^ 2 + β * Ni(3) + Ni(6)
      B2 = Ni(1) * β ^ 2 + β * Ni(4) + Ni(7)
      C2 = Ni(2) * β ^ 2 + β * Ni(5) + Ni(8)
      D2 = 2 * C2 / (-B2 - (B2 ^ 2 - 4 * A1 * C2) ^ 0.5)
      SatT = (Ni(10) + D2 - ((Ni(10) + D2) ^ 2 - 4 * (Ni(9) + Ni(10) * D2)) ^ 0.5) / 2    '饱和温度,单位 K
End Sub
运行后报错“属性的使用无效”

窗体和模块如下,调用的是ModuHan中的
搜索更多相关主题的帖子: 模块 Sub Dim Double Global 
2018-07-25 10:39
风吹过b
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:364
帖 子:4912
专家分:29900
注 册:2008-10-15
得分:20 
Global SatP As Double         '饱和压力

是不是这个定义有问题,
我查 MSDN ,Global 对象是应用程序对象,使用该对象,就可对应用程序级的属性和方法进行存取。
Global 是 Object 数据类型的。因为 Global 对象是一个被自动引用的应用程序对象,所以不需要为引用该对象而编制特定的代码

感觉你的数据定义有问题,应该使用 PUBLIC 在模块中定义全局变量。
使用 DIM 在模块只定义仅在模块只使用的局部变量。

授人于鱼,不如授人于渔
早已停用QQ了
2018-07-27 11:36



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-488811-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.175561 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved