How can this work?

R

RB Smissaert

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
 
R

RB Smissaert

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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top