Knowledge Base

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

Article ID: 129636

Article Last Modified on 12/9/2003


APPLIES TO


This article was previously published under Q129636

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

Additional query words: 4.00 vb4win vb4all

Keywords: kbprb KB129636