没有比较给出类型不匹配

Suj*_*ran 3 vb6 nothing

我试图检查'Listivew.Tag属性是否无效'.

我过去常常对所有场景进行"无任何"检查,以便首先检查以避免错误

有人可以解释如何在VB 6中执行此操作吗?

 If Not .lvwLocation.Tag Is Nothing Then
    'COMPANY
    str = str & IIf(Len(.lvwLocation.Tag) > 0, " and u.location_id in " & .lvwLocation.Tag, "")
End If
Run Code Online (Sandbox Code Playgroud)

给出错误'type-mismatch'

Boa*_*ann 9

NothingObject变量的有效值,Is是比较对象指针的方法.

但VB6控件的Tag属性是String,而VB6的String类型不是Object; 这是一种原始类型.这意味着无法分配String变量Nothing- 其最空的可能值是空字符串.(并且不能为Object变量分配String值.)对于字符串,只需使用与其他基本(数字/布尔/日期)类型相同的相等/不等/比较运算符:

If .lvwLocation.Tag <> "" Then ...
Run Code Online (Sandbox Code Playgroud)