Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.03.2011, 10:09   #1
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию Отследить изменение переменной

Добрый день. Вопрос наверное глупый, но что-то не могу сообразить...
Есть глобальная переменная. Нужно чтобы при любом изменении её значения выполнялась определенная процедура (что-то наподобие триггера внутри программы). Можно ли реализовать?

Последний раз редактировалось _SERGEYX_; 02.03.2011 в 10:36.
_SERGEYX_ вне форума Ответить с цитированием
Старый 02.03.2011, 10:31   #2
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

а как часто надо ее проверять, в таимер нельзя вставить проверку?
или я как то читал о 2-х праралельных процессах, что то в етом роде?
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 02.03.2011, 10:36   #3
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

не, таймер - это не интересно.
_SERGEYX_ вне форума Ответить с цитированием
Старый 02.03.2011, 10:50   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

внутри самого себя следить врятли выйдет, а вот внутри чужого процесса можно.
через режим отладчика.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.03.2011, 10:57   #5
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
Стрелка

ищи на ету тему параллельные процессы

вот какои то компонент, попробуи:
Библиотека позволяет программировать в терминах асинхронных параллельных процессов и их взаимодействий с почти такой же степенью удобства, как в языках Оккам и Ада, используя асимметричное рандеву в качестве принципа синхронизации.

Основные классы, реализованные в Gala: процессы, контейнеры, каналы, сигналы и сообщения. Особое внимание уделяется вопросам надежности - возможность корректного завершения процессов, находящихся в состоянии ожидания и обработка ошибок взаимодействия с уже завершенными процессами.

Библиотека Gala свободна для использования (Freeware) и распространяется с исходными текстами, справочным hlp-файлом, статьей (Параллельное объектно-ориентированное программирование в Delphi) и
исходными текстами примеров использования библиотеки
Вложения
Тип файла: zip gala.zip (226.4 Кб, 16 просмотров)
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 02.03.2011, 11:03   #6
_SERGEYX_
Участник клуба
 
Аватар для _SERGEYX_
 
Регистрация: 07.07.2007
Сообщений: 1,518
По умолчанию

Спасибо, буду пробовать
_SERGEYX_ вне форума Ответить с цитированием
Старый 02.03.2011, 11:44   #7
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

фигассе.. параллельные процессы, каналы, сигналы..

а это точно проще, чем тупо заменить вашу глобальную переменную на функцию чтения и процедуру записи?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 02.03.2011, 11:54   #8
ArtGrek
DelphiProger
Участник клуба
 
Аватар для ArtGrek
 
Регистрация: 14.11.2010
Сообщений: 1,023
По умолчанию

Цитата:
Сообщение от veniside Посмотреть сообщение
фигассе.. параллельные процессы, каналы, сигналы..

а это точно проще, чем тупо заменить вашу глобальную переменную на функцию чтения и процедуру записи?
а вызывать ети функции когда? не вставлять же после кадого деиствия
VirusN13
ArtGrek вне форума Ответить с цитированием
Старый 02.03.2011, 11:56   #9
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

мне интересно одно, чем параллельные процессы помогут в конкретно поставленной ТС задаче?
похоже больше на иной вариант с таймером.

надежнее бряка на чтение/запись ничего нет
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 02.03.2011, 11:57   #10
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> а вызывать ети функции когда?

было:

Код:
  a := my_global_var;
  my_global_var := a;
Стало:

Код:
  a := my_global_var();
  my_global_var(a);
Сложно?

> надежнее бряка на чтение/запись ничего нет

это да, но перезапускать себя под отладкой..
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."

Последний раз редактировалось veniside; 02.03.2011 в 11:59.
veniside вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отследить значение переменной в другом приложении vramil Общие вопросы Delphi 7 23.05.2010 16:27
Изменение переменной Алексей_xXx Общие вопросы C/C++ 1 11.12.2009 10:49
Отследить изменение курсора в чужих окнах Lime Общие вопросы Delphi 2 02.07.2009 19:17
Изменение переменной yura-cat Помощь студентам 7 20.09.2008 17:42
Как отследить изменение фона рабочаго стола Legat Win Api 11 29.10.2007 12:21