Tôi có một biến thể chứa BSTR, nhưng đôi khi BSTR là "" (trống), vậy làm thế nào để tránh điều này? Tôi đã thử một cái gì đó như:Kiểm tra xem BSTR có trống không
variant.bstrVal != NULL
Nhưng nó không hoạt động.
Tôi có một biến thể chứa BSTR, nhưng đôi khi BSTR là "" (trống), vậy làm thế nào để tránh điều này? Tôi đã thử một cái gì đó như:Kiểm tra xem BSTR có trống không
variant.bstrVal != NULL
Nhưng nó không hoạt động.
Sử dụng SysStringLen
:
if (SysStringLen(variant.bstrVal) == 0)
{ ... }
Bạn có thể kiểm tra vt
viên của VARIANT cho VT_NULL
hoặc VT_EMPTY
if (variant.vt != VT_NULL)
{
...
}
này là không chính xác; một biến thể trống khác với một biến thể được đặt thành 'VT_BSTR' với chuỗi trống –
@ M.M xin lỗi vì đã hiểu sai câu hỏi. Tuy nhiên, một thử nghiệm cho 'VT_EMPTY' nên thực hiện thủ thuật. –
VT_EMPTY cũng khác với VT_BSTR. Câu hỏi ngụ ý rằng nó được biết rằng 'variant.vt == VT_BSTR' đã có. –