How can this work?
OK, sorry, I figured this out.
There was a public declaration of the same API in a different project.
The project with the private declaration has a reference to the project with
the publicly declared API, so that explains it.
RBS
"RB Smissaert" wrote in message
...
Have an Excel .xla add-in with a number of normal code modules.
In one of these modules I have the API declaration:
Private Declare Function FindWindow _
Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Then in a DIFFERENT module I have:
If Val(Application.Version) = 9 Then
hwnd = FindWindow("ThunderDFrame", .Caption)
Else
hwnd = FindWindow("ThunderXFrame", .Caption)
End If
There is no place where the API is declared public.
There is no compile error and the above code runs fine.
I am just wondering how this can be.
I thought because the API was declared Private it would only work
for the module where it is declared.
Any thoughts about this?
RBS
|