int *globalVar;
void my_proc(int tempVar) {
int*X = globalVar;
globalVar = &tempVar;
do_work();
globalVar = X;
}
do_work() {
use_globalVar_1();
use_globalVar_2();
}
void use_globalVar_1() {
//...
}
void use_globalVar_2() {
//...
}
Таймер: его выход не является продолжением нашего события. Исходя из этого, если по его выходу мы прочитаем 0 (а именно его мы и прочитаем) - то именно так и должно быть.
((btw: я иного способа уничтожить самого себя, иначе как через таймер (PostMessage - по большому счету) и не придумал пока - вот уж где точно требуется, чтобы это не было продолжением нашего события))
Поток: это проблема. Но, по-моему, не наша, а программиста, который не озаботился синхронизацией потоков и прочими премудростями параллельного программирования. В аспекте, когда одновременно работают несколько выходных событий, понятие "текущего" как-то становится и неуместным. Хотя идеи, как разделить "текущие" по потокам могут и появиться...
[size=-2]------ Добавлено в 21:42
даже не очень понятно как вообще можно работать с таким контейнером, если позволять какому ни попадя потоку кликать ##select по своему усмотрению
![](/img/smilies/icon_wink.gif)