Problem with "was not declared in this scope" after version 1.8.8

Hi.
I have been using version 1.8.8 until now.
Now got up to 1.8.13 and get a problem directly.
I have tried with version 1.8.9 and have the same problem.
Version 1.8.7 works.

I use SimpleTimer by Marcello Romani and it works very well.

The timer send a callback to a void function.
This function I have at the bottom in the main folder.
(Also tried at the top but same problem)

I include the SimpleTimer at the top in main folder.

I can call SimpleTimer from both main function and also from other function on other folders.

In version 1.8.8.
If I call it from another folder it works properly.
It can find the void function in main folder.

From version 1.8.9 and up I get "function was not declared in this scope"".
The error comes from the sub folder.

What have been changed from version 1.8.8 to 1.8.9?
Why can´t a sub folder find the void function i main folder anymore?
How can I get around this?

Here are a little bit of the code.
I hope that this can help you to fix my problems.
The code is much bigger, so I only give you an example.

code:
Declared at the top:

#include "SimpleTimer.h"
SimpleTimer g_timer;

Sends if a press a button:
g_timer.setTimer(500, BlinkLed_1_XTimes, 5);

At the end of main:
void BlinkLed_1_XTimes()
{
// do something
}

This is send from another folder function:
g_timer.setTimeout(2000, BlinkLed_1_XTimes;

See if you can cut your code down to something small and compilable that exhibits the problem. It's hard to figure out what is wrong from what you have provided.

I have done some more testing and I can now solve the problem.
If I move my void function above the include of the tab that get the error it works.

Arduino has done something when they put the files together.
It doesn´t work the same in 1.8.8 and version above that.
I don´t know what the diffents are, but something is different.

Is there someone that knows and can I rewrite the code so it works like the old versions.

It can not be right to mix includes, declare and functions at the top in main tab.

I do the includes and declare at the top then setup(), Main() and after that all the other functions.

The usual way to solve problems where functions are not 'found' is to use function prototypes.

You put them in the ino files that need to make use of the function. E.g.

// includes here
...
...
// function prototype
void BlinkLed_1_XTimes();

void setup()
{
  ...
  ...
}

void loop()
{
  ...
  ...
}

void BlinkLed_1_XTimes()
{
  // do something
}

Note
Arduino does not use a Main() function; it has a main function that is hidden. So what do you mean by Main() function?

It works.
Thank you very much.

A mixed Main tab and Loop().
I mean Loop() of course.