Function 如何使VB6函数在从其他窗体调用时返回值?
我有一张表格叫Form1。在表格1中,我有以下代码-Function 如何使VB6函数在从其他窗体调用时返回值?,function,vb6,Function,Vb6,我有一张表格叫Form1。在表格1中,我有以下代码- Dim details As clsDetails Set details = getDetials(1) ' This fails. It doesn't assign a value. getDetails函数在单独的模块中声明如下- Public Function getDetials(detailNumber As Integer) As clsDetails Dim details As clsDetails
Dim details As clsDetails
Set details = getDetials(1) ' This fails. It doesn't assign a value.
getDetails函数在单独的模块中声明如下-
Public Function getDetials(detailNumber As Integer) As clsDetails
Dim details As clsDetails
Select Case detailNumber
Case "1"
Debug.Print "Inside case1"
Set details = getDetail1()
Debug.Print details.comment ' This prints correctly.
End Select
Set getDetails = details
End Function
然而,当我执行上述代码时,Form1中的details变量并没有被设置,即使调用了getDetails函数并在其中正确地打印了细节。如何纠正此问题?您是否定义了
选项Explicit
关键字
看起来你可能有打字错误。函数名为getDetials
,但将结果设置为的变量是getDetails
,因此未设置返回值
我修正了打字错误,一切正常。使用
选项Explicit
关键字将捕获这些类型的错误。是否定义了选项Explicit
关键字
看起来你可能有打字错误。函数名为getDetials
,但将结果设置为的变量是getDetails
,因此未设置返回值
我修正了打字错误,一切正常。使用
选项Explicit
关键字将捕获这些类型的错误。我认为这可能是没有
检查表单顶部是否有Option Explicit(事实上到处都有)
您的类型错误声明了函数getDetials
,但随后将名为getDetails
的对象设置到新创建的类实际上是在创建一个新对象,并且根本没有设置函数return
插入显式选项,您将看到它不会编译
当您添加了Option Explicit everywhere时,请转到
工具选项编辑器选项卡,并勾选写有需要变量声明的框,这将确保在每次向项目添加新代码文件时都会添加它。我认为这可能是没有
检查表单顶部是否有Option Explicit(事实上到处都有)
您的类型错误声明了函数getDetials
,但随后将名为getDetails
的对象设置到新创建的类实际上是在创建一个新对象,并且根本没有设置函数return
插入显式选项,您将看到它不会编译
当您添加了Option Explicit everywhere时,请转到工具
编辑器选项卡,并勾选写有需要变量声明的框-这将确保每次向项目添加新代码文件时都会添加该选项。在何处键入Option Explicit?谢谢!!!哇!这确实是一个打字错误。不幸的是,VB创建了新的变量,并且没有检测到输入错误@CodeBlue--“Option Explicit”位于每个模块或类的顶部。@CodeBlue您应该更改VB设置,以便Option Explicit在默认情况下始终处于启用状态。菜单选项“工具”“选项”和“打开”需要在“编辑器”选项卡上声明变量。您可能对在何处键入Option Explicit感兴趣?谢谢!!!哇!这确实是一个打字错误。不幸的是,VB创建了新的变量,并且没有检测到输入错误@CodeBlue--“Option Explicit”位于每个模块或类的顶部。@CodeBlue您应该更改VB设置,以便Option Explicit在默认情况下始终处于启用状态。菜单选项“工具”“选项”和“打开”需要在“编辑器”选项卡上声明变量。你可能会对我感兴趣