Chertenok.ru - все о программировании
Вход  |  Регистрация  |  Поиск 
Праздник
Завтра :

День славянской письменности и культуры


Обмен данными между программами


Новая тема  Ответить  Печать Предыдущая тема  Следующая тема
Автор Сообщение
Sal
Гость







СообщениеПт, 16-Сен-2005 0:43    Заголовок сообщения: Обмен данными между программами
Цитата

Имеются два приложения - одно в процессе своей работы меняет значение некой переменной, а из другого нужно иметь возможность читать значение этой переменной. Можно, конечно, записывать значение этой переменной в файл на диск или в реестр или еще куда-нибудь, а из второго приложения оттуда это значение считывать. Но этот опосредственный способ не всегда приемлем. Какие в принципе еще могут существовать способы обмена данными между приложениями ?
Можно ли как нибудь организовать разделяемую область памяти?
В начало
Kemulgor
Гость







СообщениеПт, 16-Сен-2005 4:41 
Цитата

одно приложение может посылать другому сообщения
обмен данными можно и через сокеты организовать =)
а лучше читать значение из памяти зарание узнав адресс переменной!

что-бы получить адресс переменной (в случае если она не статическая) то придется использовать какой-то выше описанный способ
В начало
Sal
Гость







СообщениеПт, 16-Сен-2005 22:04 
Цитата

Допустим, переменная у меня статическая и ее адрес известен. Но разве я смогу из одного приложения обращаться к адресному пространству другого ?
В начало
Пол:Муж NikotiN
Розовый мамонт


Возраст: 26
Знак зодиака: Овен
Зарегистрирован: 18.03.2005
Сообщения: 2137

СообщениеСб, 17-Сен-2005 13:26 
Цитата

тебе уже сказали пользуй сообщения ))))
В начало
Посмотреть профиль Отправить личное сообщение
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеСб, 17-Сен-2005 14:42 
Цитата

Цитата:
Можно ли как нибудь организовать разделяемую область памяти?

Memory Mapped File, WM_COPYDATA
Цитата:
Но разве я смогу из одного приложения обращаться к адресному пространству другого ?

И это тоже можно, хотя для чтения одного значения чересчур громоздко

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Gladiator
Гость







СообщениеПт, 17-Фев-2006 9:44 
Цитата

А ещё использовать Clipboard.
В начало
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеПт, 17-Фев-2006 20:43 
Цитата

Для обмена информацией между приложениями.. Человечество придумало Dinamic Data Exchange (DDE).. Существует он ещё со времён WIN/3.11, и очень многие программисты очень успешно пользовались им... Наилучшую документацию о нём можно найти на msdn.microsoft.com...
_________________
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеСб, 18-Фев-2006 0:03 
Цитата

Цитата:
Человечество придумало Dinamic Data Exchange (DDE).. Существует он ещё со времён WIN/3.11, и очень многие программисты очень успешно пользовались им...

Забудь - еще в прошлом веке перестал поддерживаться, и неизвестно, сможет ли работать в будущих ОС

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеСб, 18-Фев-2006 0:23 
Цитата

DrPass писал(а):
Забудь - еще в прошлом веке перестал поддерживаться, и неизвестно, сможет ли работать в будущих ОС

А я его использовал, использую, и
[off] пока он поддерживается [/off]
буду использовать... И считаю что нет ему достойной замены... Идеальное решение реализованое в режиме Сервер/Клиент... (RTFM! .... Help!)

Добавлено спустя 4 минуты 33 секунды:

И не надо придумывать извращений типо обращений к памяти, к файлу, к реестру и.т.п. надо просто сесть на 2-3 суток и поковырятся в файле DDEml.pas... Там всё рализовано, просто и понятно...

_________________
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
DrPass
Знающий :)
/Почетный Модератор/


Возраст: 31
Знак зодиака: Лев
Зарегистрирован: 02.05.2002
Сообщения: 5709
Откуда: Донецк
СообщениеСб, 18-Фев-2006 14:35 
Цитата

Цитата:
А я его использовал, использую, и пока он поддерживается буду использовать... И считаю что нет ему достойной замены...

Для развлекухи и курсовых - ради бога. А в серьезном софте ни в коем случае. Потому что когда "пока он поддерживается" закончится, уже будет поздно.

_________________
Да пребудет с вами Сила!
В начало
Посмотреть профиль Отправить личное сообщение
Пол:Муж TuXAPuK
Великий гонщик

Предупреждений : 1
Возраст: 26
Знак зодиака: Рыбы
Зарегистрирован: 12.09.2005
Сообщения: 714
Откуда: Великий город Рига... =Ъ
СообщениеСб, 18-Фев-2006 18:12 
Цитата

И в серёзных программах его тоже используют (Word, Excel, Explorer, mIRC, Skype) не вериш? Есть програмка в интернете "DDEHook.dll" через неё ты десятка два запущеных DDE точно найдёш... Не возражаю что он немножно ебливый, но есле ты даш хоть один серёзный пример его замены... То обезательно рассмотрю его... А пока я поддерживаюсь старого мнения... Ведь MS-DOS тоже вымирающий вид, но это не значет что он плох...
_________________
В начало
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Показать сообщения:   
Страница 1 из 1
Перейти:  
Новая тема  Ответить  Печать

Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете присоединять файлы в этом форуме
Вы можете скачивать файлы в этом форуме
хостинг от .masterhost 
Rambler's Top100