BUG: CDK: VBSetVariantValue GPF with Null PointerLast reviewed: July 26, 1996Article ID: Q154033 |
The information in this article applies to:
SYMPTOMSThe 16-bit edition of Visual Basic 4.0 stops with a General Protect Fault in module VB.EXE at 002F:350B.
CAUSEPassing a NULL pointer to the lpData argument of VBSetVariantValue() in the VBAPI library will cause this General Protection Fault. Normally, you would not pass a NULL pointer to lpData, but the VBCreateTempHlstr() function is documented as returning a NULL if you create a TempHLSTR on an empty (zero- length) string. Because you can call VBSetVariantValue() using a TempHLSTR to assign a string to a variant, this function should work with a NULL pointer in the lpData argument, but it doesn't.
MORE INFORMATIONVisual Basic 3.0 is not affected by this problem, as the VBCreateTempHlstr() function will not return a NULL, even for empty strings. This is the only situation that is documented as acceptable to pass NULL as the lpData argument.
STATUSMicrosoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. We are researching this problem and will post new information here in the Microsoft Knowledge Base as it becomes available.
WORKAROUNDThere are several workarounds available to you. Choose the one that best fits your needs:
|
Additional reference words: 4.00 vb4win vb416 CDK CDG DLL VARIANT VBAPI
© 1998 Microsoft Corporation. All rights reserved. Terms of Use. |