Вверх ↑
Этот топик читают: Гость
Гость
Ответов: 17029
Рейтинг: 0
#1: 2013-02-10 14:05:44 правка | ЛС | профиль | цитата


Редактировалось 2 раз(а), последний 2025-01-09 15:16:47
карма: 0

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#2: 2013-02-10 15:17:57 ЛС | профиль | цитата
net-93-144-237-32.cust.ds писал(а):
Прошу подсказать как можно осуществить поставленную задачу

Вот пример одного из способов, по принципу работы winword.exe, excel.exe. Без механизма межпроцессного взаимодействия такую задачу решить невозможно. Самый простой способ, это использование второй копии программы, которая самоустраняется после передачи параметров первой копии. Первая копия всегда имеет запущенный сервер МП взаимодействия, вторая копия создает клиента для соединения с сервером. Наличие проверки пустых команд в примере не предусмотрено, как не предусмотрен и полноценный запуск второй копии. Всегда в работе будет только одна копия. Не предусмотрен также и декодер команд. Это надо делать самому. Я привел только механизм взаимодействия. В примере, все принятые команды отображаются в Memo

Add(MainForm,2953706,91,112)
{
Width=394
Height=244
Visible=1
Point(doVisible)
link(onCreate,13260698:doCreateMutex,[])
}
Add(Application,9084946,301,182)
{
}
Add(Mutex,13260698,154,126)
{
Name="MyForm"
link(onCreated,10916272:doEvent1,[])
link(onAlreadyExists,16600821:doEvent1,[(219,139)(219,307)])
}
Add(DDEServer,14007143,308,133)
{
ServiceName="DDE_Server"
TopicList=#5:Form1|
Point(onExecute)
Point(doSetError)
link(onExecute,989355:doEnum,[])
}
Add(Hub,10916272,252,126)
{
OutCount=3
link(onEvent1,2953706:doVisible,[(278,132)(278,81)(70,81)(70,146)])
link(onEvent2,14007143:doStart,[])
link(onEvent3,11088791:doEnum,[(278,146)(278,251)])
}
Add(DDEClient,12344087,511,329)
{
ServiceName="DDE_Server"
TopicName="Form1"
Items=#5:Text1|5:Text2|
AutoUpdate=1
ServerApp="DDE_Server.exe"
Point(doExecute)
Point(onExecute)
link(onExecute,2953706:doClose,[(562,363)(562,398)(78,398)(78,139)])
}
Add(ArrayEnum,11088791,308,245)
{
link(onItem,12374986:doWork2,[])
link(Array,12543098:Var2,[])
}
Add(ArrayEnum,9335340,350,308)
{
link(onItem,9756606:doStrCatDlm,[(415,314)(415,300)])
link(onEndEnum,4982019:doTrim,[(415,321)(415,363)])
link(Array,12543098:Var3,[(356,222)])
}
Add(GetDataEx,12543098,308,217)
{
link(Data,9084946:Params,[])
}
Add(Hub,16600821,252,301)
{
link(onEvent1,9756606:doClear,[])
link(onEvent2,9335340:doEnum,[])
}
Add(StrCatDelim,9756606,448,294)
{
Delimiter=";"
Point(doClear)
link(Str1,10854671:Var1,[(454,282)(442,282)(442,338)])
}
Add(Trim,4982019,448,357)
{
Char=";"
link(onTrim,12344087:doExecute,[])
link(Text,10854671:Var2,[])
}
Add(GetDataEx,10854671,448,333)
{
link(Data,9756606:Result,[])
}
Add(Memo,16148515,511,245)
{
Left=15
Top=10
Width=355
Height=185
}
Add(Str_Enum,989355,378,147)
{
link(onEnum,12374986:doWork1,[(466,153)])
}
Add(HubEx,12374986,462,245)
{
link(onEvent,16148515:doAdd,[])
}

карма: 22

1
Голосовали:tom-it
Ответов: 3349
Рейтинг: 233
#3: 2013-02-10 15:26:04 ЛС | профиль | цитата
nesco, Где то на ресурсе kol видел компонент для чего то похожего
карма: 1

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#4: 2013-02-10 15:27:42 ЛС | профиль | цитата
Ivann писал(а):
Где то на ресурсе kol видел компонент для чего то похожего

Нахрен он нужен, когда это делается штатными средствами и не очень сложно, пример выше. Надо только погуглиться немного и включить голову
карма: 22

0
Ответов: 3349
Рейтинг: 233
#5: 2013-02-10 15:34:32 ЛС | профиль | цитата
nesco, Там вроде без межпроцессного взаимодействия.
карма: 1

0
Разработчик
Ответов: 26303
Рейтинг: 2146
#6: 2013-02-10 15:35:42 ЛС | профиль | цитата
Ivann писал(а):
Там вроде без межпроцессного взаимодействия

Дай ссылку, посмотрю. Я че-то не нашел. Вот только мне не понятно одного, если бы это можно было сделать, то почему этого не сделали мелкомягкие, а используют именно МП взаимодействие Ведь параметры в программу передаются только при ее запуске и никак иначе.
карма: 22

0
Ответов: 3349
Рейтинг: 233
#7: 2013-02-10 19:14:48 ЛС | профиль | цитата
nesco, Что то найти тоже не могу
------------ Дoбавленo в 19.14:
А ну его
карма: 1

0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)