Показать сообщение отдельно
  #1  
Старый 11.09.2009, 11:30
vider vider вне форума
Прохожий
 
Регистрация: 11.09.2009
Сообщения: 2
Репутация: 10
По умолчанию значение переменной

Доброго дня!

Проблемка неоднозначная.
Програмка, работает с БД на ADO. Окно MDI - главный список записей, двойной щелчек открывает дочернее MDI с подробностяпи по записи главного списка. Соответсвенно в дочернее окно из главного при открытии передается две переменные (MasterKey в БД для поиска записи), на основе которых остальные запросы к бд выводят остальную инф.
Запись в бд содержит связи с другими таблицами (ForeginKey (помоему неправильно написал:)).
Дочерний модуль содержит процедуры, которые могут менять состав этих самых FK для MasterKey.
Так вот какая проблема: не всегда, но! если открыто больше одного дочернего окна и в том, которое открыто последнем (Окно2) произвести операцию по смене FK иногда происходит ситуация которую скорее всего можно описать как подмена значений переменных. Поясню: в дочернем модуле используются переменные с одним и тем же названием (POS_ID, TO_ID). Точно не знаю но слышал что для каждого нового экземпляра одного и тогоже модуля (окна) выделяется свое пространство в памяти под его переменные. Но если смотреть результат процедуры то получается что в процедуре окна2 используется значение переменной POS_ID окна1.
Как то путанно получается, но уж извините сам не пойму что происходит.
Вообщем по короче выглядет это так: Может ли (и при каких условиях) значение переменной первого экземпляра модуля передасться второму экземпляру модуля?
Ответить с цитированием