![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
Есть два приложения. Оба написаны мной.Первое приложение вызывает второе и должно передать значение некоторой переменной. Второе в свою очередь, если запускается отдельно, имеетстартовое окно (в событии onActivate главной формы) в котором выбираеся действие. Задача сосотоит в том, чтобы при запуске первым приложением второго стартовое окно не показывалось. Что-то типа следующей конструкции (я думаю):
Или есть другой метод? Как реализовать передачу значения этой переменной? -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
former, А чем командная строка не устраивает?
-------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
Rennigth, поточнее, что ты имеешь виду?
-------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
-------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Rennigth |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Хм, то и имею. Сделай чтобы первое приложение запускало второе с параметром например:
А во втором приложении анализировать ParamStr;
-------------------- (* Honesta mors turpi vita potior *) |
||||
|
|||||
| former |
|
||||||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
Rennigth, спасибо за подсказку. Все получилось. Только в твоём коде кое-чего не хватает:
1.
2.
Так я думаю будет лучше. А вариант какой лучше или надёжнее, Rennigth или Alexeis? Добавлено через 2 минуты и 7 секунд PChar написал, т.к. использовал следующую конструкцию:
-------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
||||||
|
|||||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Ну писал как наводку Мне кажется что в данном случае не целесообразно изобретать велосипед с SendMessage-м и WM_COPYDATA и т.д. когда для этого механизм передачи параметров через командную строку и служит. Это сообщение отредактировал(а) Rennigth - 2.7.2007, 09:42 -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Угу я не дочитал что первая запускает вторую. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
Rennigth, Alexeis, спасибо за ваши рекомендации. Постараюсь разобраться и со вторым вариантом тоже.
И на последок.
Т.е., если я правильно понял, если система перегружена процессами, то неизвестно вовремя ли произойдёт передача параметров? -------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Alexeis |
|
|||
![]() Амеба Профиль Группа: Админ Сообщений: 11743 Регистрация: 12.10.2005 Где: Зеленоград Репутация: 109 Всего: 459 |
Ага, сообщения обрабатываются асинхронно, но в порядке их поступления. -------------------- Vit вечная память. Обсуждение действий администрации форума производятся только в этом форуме гениальность идеи состоит в том, что ее невозможно придумать |
|||
|
||||
| Rennigth |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Ну да. К примеру если использовать вариант с передачей параметров через SendMessage:
Вообщем чтобы пользоваться этим вариантом придется изобретать еще и велосипед с ожиданием приема параметра во втором приложении и ожиданием возможности отправки передачи параметра у первого. -------------------- (* Honesta mors turpi vita potior *) |
||||
|
|||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
А приоритет сообщения менять никак нельзя?
-------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| Rennigth |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1708 Регистрация: 21.6.2004 Где: Moscow Репутация: 49 Всего: 76 |
Чтобы это могло значить? Приоритет есть у процессов и потоков. Если ты имеешь ввиду как можно побыстрее прогнать очередь сообщений для какогото окна... То это исключительно зависит от загружености процесса. Сообщения он принимает грубо говоря в Idle, или можно в принимающем приложении вызвать Application.ProcessMessages. Но ситуцию это все равно не изменит. В данном случае используй передачу параметра через командную строку. -------------------- (* Honesta mors turpi vita potior *) |
|||
|
||||
| former |
|
|||
![]() MEMS Expert ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1166 Регистрация: 1.3.2006 Где: Россия Репутация: 5 Всего: 17 |
Всем спасибо. Тема закрыта.
-------------------- Достаточно снизить уровень мышления, чтобы иные почувствовали почву под ногами. |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
можно мое имхо? все-таки на то оно и WM_COPYDATA, чтобы данные между процессами передавать... а вот с ком.строкой как раз изврат.
-------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "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. |