Article ID: 129636 - Last Review: December 9, 2003 - Revision: 2.0

PRB: "Ambiguous name detected" Compile-Time Error in VB 4.0

This article was previously published under Q129636

On This Page

Expand all | Collapse all

SYMPTOMS

Better type checking in Microsoft Visual Basic version 4.0 causes it to return a compile-time error message when you declare two functions (or subroutines) with the same name in the same module or form. This is a change in behavior from Microsoft Visual Basic version 3.0.

The error message returned is:
Ambiguous name detected: <function or sub name>

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce Behavior

  1. Start a new project in Visual Basic. Form1 is created by default.
  2. Add the following code to the general declarations section of Form1:
       Private Declare Function GetSystemDirectory Lib "Kernel" _
          (ByVal strBuffer As String, ByVal intSize As Integer) As Integer
       Private Declare Function GetSystemDirectory% Lib "Kernel" _
          (ByVal lpBuffer$, ByVal nSize%)
    						
  3. Attempt to run the application by pressing the F5 key. Visual Basic will not run the application. Instead you will get this error message:
    Ambiguous name detected: GetSystemDirectory

APPLIES TO
  • Microsoft Visual Basic 4.0 Professional Edition
  • Microsoft Visual Basic 4.0 16-bit Enterprise Edition
  • Microsoft Visual Basic 4.0 32-Bit Enterprise Edition
Keywords: 
kbprb KB129636
 

Article Translations