![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| bagira |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2858 Регистрация: 25.10.2003 Где: в тайге Уральских гор Репутация: нет Всего: 123 |
Извините, может быть мой вопрос глупый...
Пользователь стал тестировать мою программу - открыл одно окно, свернул его, снова запустил программу - открылось второе, и также - третий раз и т.д. В-общем, издевался как мог... И их накопилось довольно много... А я раньше не задумывалась об этом. Такое положение нежелательно... Окно программы должно открыться только один раз, а повторно программа не должна запускаться... Я первый раз делала программу на Дельфи, и не знаю, как это организовать? Подскажите, если можно, пожалуйста!!! (убегаю, приду вечером...) -------------------- Сегодня ты не бродил, не искал, не любил - можно сказать - и не жил... Ф.Х. Дагларджа (Турция) http://zveriolginovour.ru/ https://vmeste.yandex.ru/zveriolginovour |
|||
|
||||
| Maverick |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1307 Регистрация: 22.9.2003 Где: Odessa, Ukraine Репутация: 2 Всего: 10 |
В FAQ на запрос "копия" я первой получил такую ссылку...
Как сделать, чтобы запускалась только одна копия приложения? Советую сделать тоже самое.... Это сообщение отредактировал(а) Maverick - 5.5.2004, 18:25 |
|||
|
||||
| bagira |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2858 Регистрация: 25.10.2003 Где: в тайге Уральских гор Репутация: нет Всего: 123 |
Maverick
Ты прав, как всегда... Вот, только что скачала его... А до этого ни разу не удавалось докачать до конца... Что ж, будем искать... Спасибо. -------------------- Сегодня ты не бродил, не искал, не любил - можно сказать - и не жил... Ф.Х. Дагларджа (Турция) http://zveriolginovour.ru/ https://vmeste.yandex.ru/zveriolginovour |
|||
|
||||
| Medved |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 7209 Регистрация: 15.9.2002 Где: Kazakhstan, Astan a Репутация: 14 Всего: 154 |
Обычно я использую такой механизм:
в модуль проекта (*.dpr) добавляешь следующие строчки:
-------------------- |
|||
|
||||
| bagira |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2858 Регистрация: 25.10.2003 Где: в тайге Уральских гор Репутация: нет Всего: 123 |
Pegas Получилось!!! И все работает превосходно! Спасибо! -------------------- Сегодня ты не бродил, не искал, не любил - можно сказать - и не жил... Ф.Х. Дагларджа (Турция) http://zveriolginovour.ru/ https://vmeste.yandex.ru/zveriolginovour |
|||
|
||||
| Chyslyvchyk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 9.5.2004 Репутация: 1 Всего: 5 |
Pegas, эээээ, а можно поподробнее куда вписать нужно?
Например, есть файл Project.dpr, состоящий из:
Как вписать код, который ты привел? -------------------- Простота - сестра таланта! |
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
2 Chyslyvchyk :
Только я бы вместо Application.Terminate делал Exit... -------------------- С уважением, г-н Посол. |
|||
|
||||
| Chyslyvchyk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 9.5.2004 Репутация: 1 Всего: 5 |
To p0s0l: Спасибо! Использую Exit - работает.
-------------------- Простота - сестра таланта! |
|||
|
||||
| Chyslyvchyk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 9.5.2004 Репутация: 1 Всего: 5 |
To p0s0l: Допустим пользователь открыл программу и свернул ее. Через некоторое время он забыл, что он программу уже открывал и кликнул на *.exe программы еще раз. Копия программы теперь запускаться не будет. А как сделать, чтобы развернулась или активировалась, или (как это еще назвать....) программа, что он свернул? То есть, чтобы перед светлыми очами пользователя открылась программа, которую он свернул.
-------------------- Простота - сестра таланта! |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
нйти среди окон программу с твоим названием:
и послать ей определенное сообщение ( по которому программа будет себя показывать ) Это сообщение отредактировал(а) _hunter - 20.5.2004, 20:00 -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Chyslyvchyk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 9.5.2004 Репутация: 1 Всего: 5 |
To _hunter:И снова: а куда это прописывать.
-------------------- Простота - сестра таланта! |
|||
|
||||
| Pakshin A. S. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 5056 Регистрация: 16.2.2003 Репутация: 21 Всего: 61 |
Если прога есть, т. е. при ветке if'а перед exit'ом послать сообщение уже запущенной программы (где-то я это видел), которая, обработав его, выполнит Application.Restore...
|
|||
|
||||
| p0s0l |
|
|||
![]() Г-н Посол ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3668 Регистрация: 13.7.2003 Где: 58°38' с.ш. 4 9°41' в.д. Репутация: 58 Всего: 112 |
Тогда можно обойтись без Event'ов. Вот так:
Только обзови Form2 в что-нибудь по-замудреннее. Если Form2.Name будет = 'Form2', а Form2.Caption будет = 'Абракадабра', то FindWindow делай таким: wnd := FindWindow('TForm2', 'Абракадабра'); -------------------- С уважением, г-н Посол. |
|||
|
||||
| z-END |
|
||||
![]() прафесар™ ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3014 Регистрация: 13.3.2003 Где: Венья, Пиетари Репутация: 11 Всего: 102 |
ЗЫ. Конечно же можно (и лучьше) делать как сказал г-н p0s0l, но это невсегда помогает, например когда свернуто приложение, еще свернута форма и ктому же она инвисибле, тогда приведенный им пример несработает
А вот такой пример поможет: тело проекта
главный юнит
-------------------- Каждый чилавек пасвоему праф...а памоему НЕТ! |
||||
|
|||||
| Chyslyvchyk |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 446 Регистрация: 9.5.2004 Репутация: 1 Всего: 5 |
To p0s0l: nJIaKca.spb прав. Если окно приложения свернуто, тогда фокус просто переходит на него, но оно не открывается.
To nJIaKca.spb: Если использовать твой код - ругается: Undeclared identifier: 'WM_ACTIVATEAPP'. И как должна быть оглашена переменная 'а'? -------------------- Простота - сестра таланта! |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |