|
|
||||||||||||||||
Передача имени файла другой копии приложения.17.03.2012, 23:04. Показов 2597. Ответов 12
Метки нет (Все метки)
Суть такова программа регистрирует свое расширение файлов (.form1)
И при открытии нового файла копия приложения должно передать сообщение с именем этого файла что бы первый экземпляр приложения открыл его, а затем закрыться. Но вот проблема: открытие второго файла выполняется не всегда, т.е сообщение не доходит Project1.cpp
0
|
||||||||||||||||
| 17.03.2012, 23:04 | |
|
Ответы с готовыми решениями:
12
Передача имени файла
|
|
Модератор
3409 / 2184 / 354
Регистрация: 13.01.2012
Сообщений: 8,462
|
|
| 17.03.2012, 23:50 | |
|
1
|
|
|
|
|||||||
| 18.03.2012, 00:54 [ТС] | |||||||
|
Первое с чем возникли трудности
Непонятно назначение ф-ций: ide2std(ParamStr(i)); WRITE(param_str); READ(param_str);
0
|
|||||||
|
Модератор
3409 / 2184 / 354
Регистрация: 13.01.2012
Сообщений: 8,462
|
||
| 18.03.2012, 14:00 | ||
|
ide2std это я так боролся с конвертацией std::string в Ansi/UnicodeString когда пытался портироваться на builder xe - вы можете конвертировать так как вам удобно или не конвертить вообще если в этом нет необходимости
READ / WRITE - это мои специфичные функции записи в поток (писались пары вида имя=значение) - вы можете просто писать так как вам удобно вот это
0
|
||
|
Модератор
3409 / 2184 / 354
Регистрация: 13.01.2012
Сообщений: 8,462
|
|
| 18.03.2012, 15:01 | |
|
1 - вы ничего не присваиваете cds.cbData - система не будет знать сколько байт передавать
2 - вы не устанавливаете событие после CreateForm 3 - вы не смогли присвоить значение WinClassName - следовательно поиск окна по имени окончится неудачей (как же присвоить значение WinClassName я вам не скажу потому как не стал рыть, попробуйте навести на WinClassName и нажать F1 что бы разобраться как же они его раскурочили в builder xe)
1
|
|
|
|
|||||||
| 18.03.2012, 15:52 [ТС] | |||||||
3-е Не пойму зачем вообще использовать WinClassName, MAIN_FORM_CLASS почему просто не искать HWND hwnd = FindWindow("TForm2", 0);
0
|
|||||||
|
Модератор
3409 / 2184 / 354
Регистрация: 13.01.2012
Сообщений: 8,462
|
|
| 18.03.2012, 16:05 | |
|
1 - да
2 - не вполне пойму о чем вы, в моем коде событие должно было быть установлено после CreateForm перед Run почему это так делается описано в той теме 3 - в принципе вы можете использовать любой удобный вам способ поиска окна. поиск по имени класса представляющего из себя GUID был выбран мной как наименее подверженный ошибкам
1
|
|
|
|
||||||||||||
| 18.03.2012, 18:39 [ТС] | ||||||||||||
|
Все понял куда вставить SetEvent(h) я просто не заметил его, работает.
Заметил что работает и без события, а также внес изменение в проект через мютекс Project1.cpp
Добавлено через 17 минут
0
|
||||||||||||
|
Модератор
3409 / 2184 / 354
Регистрация: 13.01.2012
Сообщений: 8,462
|
|
| 18.03.2012, 19:33 | |
|
не может если еще форма не создана поэтому у меня эвент а не мутекс
0
|
|
|
Модератор
3409 / 2184 / 354
Регистрация: 13.01.2012
Сообщений: 8,462
|
|
| 18.03.2012, 20:55 | |
|
1 кликать на файле быстро не придется - достаточно будет выделить несколько файлов и выбрать пункт контекстного меню "открыть" - ОС начнет с бешеной скоростью запускать для каждого файла копии вашего приложения - какие-то успеют увидеть мутекс, какие-то - нет.
2 вроде да.
1
|
|
| 18.03.2012, 20:55 | |
|
Помогаю со студенческими работами здесь
13
Ввод имени файла с клавиатуры и передача в функцию Передача имени файла при создании дочернего процесса TASM передача аргументов, в частности, имени удаляемого файла Получение имени файла из формулы другой ячейки Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2.
Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
|
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
|
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
|
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2.
Данный документ берёт данные из другого нетипового документа. . .
|
|
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
|
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача: реализовать программный контроль на предмет проведения документа. . .
|
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2.
Задача:
1. Реализовать контроль заполнения реквизита. . .
|
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение:
DISM / Online / Add-Capability / CapabilityName:WMIC~~~~
Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
|