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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2011, 19:26   #11
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Поиск по окнам? О, боже...

Посмотрите нормальный пример кода: http://dl.dropbox.com/u/201788/Proje...stanceDemo.zip
Чего-то ваш экзэшник странно себя ведет, но я исходник еще не смотрел. То открывает по несколько копий, то не все файлы добавляет.
Но все равно спасибо.

Цитата:
Сообщение от mss Посмотреть сообщение
Такие вещи делаются с использованием мьютекса и MMF.

Первый стартовавшый экз-р создает мьютекс и занимает его. После занятия мьютекса экз-р создает MMF и пишет туда , например, свой PID и/или хендл некоего своего окна, после чего освобождает мьютекс и продолжает работу.

Последующий стартовавший экз-р при попытке создания мьютекса получает диагностику "мьютекс уже существует" и ждет на занятии мьютекса. Как только мьютекс будет занят экз-р открывает MMF, берет оттуда PID и/или хенд окна - теперь "координаты" первого экз-ра известны, можно любым удобным способом коммуницировать с ним для передачи параметров, после чего можно спокойно закруглиться.

Ну и разумеется перед завершением работы каждый экземпляр должен освободить мьютекс и закрыть его хендл, равно как и с MMF.
Пока только смутно понял, буду читать. Спасибо.
Anfall вне форума Ответить с цитированием
Старый 12.08.2011, 22:28   #12
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Цитата:
Чего-то ваш экзэшник странно себя ведет, но я исходник еще не смотрел. То открывает по несколько копий, то не все файлы добавляет.
Вы наверное скопом запускаете. Я делал этот пример другому человеку и он немного не для этого был предназначен.

Наверное, мне надо его переделать на более частый случай.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 13.08.2011, 04:56   #13
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Немного переделал код, убрав специфику оригинального кода, адаптировав его для общего случая, и заодно добавив пояснений. Гляньте (по той же ссылке).
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 13.08.2011, 13:29   #14
Anfall
Форумчанин
 
Регистрация: 10.02.2009
Сообщений: 181
По умолчанию

Цитата:
Сообщение от GunSmoker Посмотреть сообщение
Немного переделал код, убрав специфику оригинального кода, адаптировав его для общего случая, и заодно добавив пояснений. Гляньте (по той же ссылке).
Благодарю.
Anfall вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
прием передача сообщения от сервера клиенту и на оборот Lokos Работа с сетью в Delphi 4 24.08.2010 18:24
Передача параметров программе Granus Общие вопросы C/C++ 3 02.03.2010 17:49
Передача сообщения о нажатии клавиши в DOSBox Gerzs Общие вопросы Delphi 3 15.11.2009 19:02
Передача сообщения из программы в свою Dll SergeySK Общие вопросы Delphi 3 01.11.2007 14:42
Передача параметров программе при её запуске troo Общие вопросы Delphi 7 13.05.2007 21:22