Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #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.
Как то путанно получается, но уж извините сам не пойму что происходит.
Вообщем по короче выглядет это так: Может ли (и при каких условиях) значение переменной первого экземпляра модуля передасться второму экземпляру модуля?
Ответить с цитированием
  #2  
Старый 11.09.2009, 11:49
Аватар для Страдалецъ
Страдалецъ Страдалецъ вне форума
Гуру
 
Регистрация: 09.03.2009
Адрес: На курорте, из окна вижу теплое Баренцево море. Бррр.
Сообщения: 4,721
Репутация: 52347
По умолчанию

А каким образом и где переменные POS_ID, TO_ID у вас описаны?
__________________
Жизнь такова какова она есть и больше никакова.
Помогаю за спасибо.
Ответить с цитированием
  #3  
Старый 11.09.2009, 12:18
vider vider вне форума
Прохожий
 
Регистрация: 11.09.2009
Сообщения: 2
Репутация: 10
По умолчанию q

Цитата:
Сообщение от Страдалецъ
А каким образом и где переменные POS_ID, TO_ID у вас описаны?

обычным методом в процедуре FormCreate, тип String,
В главном модуле есть глобальные переменные T_ID и P_ID, в процедуре FromCreate они передают свои значения локальным переменным POS_ID и TO_ID
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 18:01.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter