ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   How can this work? (https://www.excelbanter.com/excel-programming/329575-how-can-work.html)

RB Smissaert

How can this work?
 
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


RB Smissaert

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




All times are GMT +1. The time now is 01:15 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com