VB中在模块中定义的共有函数,在窗体中调用时出现函数未定义错误,咋解决?

在标准模块中定义的函数如下:
Public Function TRANSOIL(K As Integer, T As Single) As Single 'T 单位:摄氏度
' K=1 DENSITY RO =(KG/M**3)
' K=3 SPEC. HEAT AT CONST. PRESSURE CP =(J/(KG*GRD.K))
' K=5 THERMAL-CONDUCTIVITY CLAM=(W/(M*GRD.K))
' K=4 SPORT VISCOSITY ETA =(M2/SEC))
Dim LNETA As Single
Select Case K
Case 1
TRANSOIL = 877 - 0.59 * T
Case 3
TRANSOIL = (1.7913 + 5.0453 * T / 1000) * 1000
Case 5
TRANSOIL = 0.1255 - 6.5 * T / 100000
Case 4
LNETA = -28.2038 + 15.6586 * Log(T) - 4.27244 * (Log(T)) ^ 2 + 0.3503 * (Log(T)) ^ 3
TRANSOIL = Exp(LNETA) * (877 - 0.59 * T)
End Select
End Function
在窗体中调用的代码如下:
ROU = TRANSOIL(1, T - 273)
LAMTA = TRANSOIL(5, T - 273)
CP = TRANSOIL(3, T - 273)
ETA = TRANSOIL(4, T - 273)

第1个回答  2015-05-11
病情分析:
一般说来,怀孕需要二百八十天,怀孕四十周,计算预产期是人最末一次月经来潮的第一天算起,月份数加九或减三,日期数加七。如果准妈加十五即为农历的预产期。预产期的计算仅是一种大致的估计。
指导意见:
根据产妇的实际情况来看,前后可能相差七天左右。如果平时月经,周期短,不足一个月,临产的日子多半在预产期前;若平时月经周期长,在四十天左右,临产的日子多半在预产期后。

病情分析:
你好,从你昨天的B超检查结果来看双顶径大约是33周大小,股骨长度大约是31周大小
指导意见:
孩子一般还有8周左右会分娩,孩子股骨长度偏小要注意多加强营养,禁止性生活,按时产检就可以了
第2个回答  2015-05-11
问题应该出在LNETA = -28.2038 + 15.6586 * Log(T) - 4.27244 * (Log(T)) ^ 2 + 0.3503 * (Log(T)) ^ 3这一句,其中你用了Log函数,Log函数是求自然对数值,其参数必须大于0,而Log(T) 其中的T貌似是负数。追问

这样修改吗?
LNETA = -28.2038 + 15.6586 * Log(Abs(T)) - 4.27244 * (Log(Abs(T))) ^ 2 + 0.3503 * (Log(Abs(T))) ^ 3
还有就是如果调用的模块中的函数有问题,运行时也会出现“函数未定义”这种问题吗

追答

这样不出错了,但是我不知道你这个表达时是否正确,只有你自己判断了。

调用的模块中的函数有问题,运行时也会出现“函数未定义”,这不是理所当然吗?难道你指望VB把错误的代码当做不存在?

本回答被提问者和网友采纳
相似回答