Другие языки программирования и технологии

Вопрос по делфи

Здравствуйте, я написал свою программу на делфи, хотел бы написать ещё одну, то чтобы в этой второй программе мложно было изменять значение в первой программе, т.е. открыть эту вторую программу и к примеру чтобы она изменила такуюто строчку в превой программе и чтобы это значение какое мне надо я бы сам смог изменять, в делфи я новичёк...Подскажите как это сделать?
не совсем понятно, пиши в агент
Слыш.vail
Слыш.vail
68 014
Лучший ответ
Есть куча способов от древнего DDE и до прямого доступа к процессу (приложению необходимы права дебаггинга) , но все это как бы немножко сдложно для новичка. Я так думаю, что лучше бы пока поучитьcя более простым вещам, а эти твои два приложения можно смело объеденить в одно и тогда все станет гораздо проще.
для новичка это сложно. Есть несколько способов: DDE, Windows Messages, Indy Servers самые распостранненые на мой взгляд. Можно ещё через файл: одна программа пишет в файл, другая - читает.
Роман Гаськов
Роман Гаськов
12 778
Слыш.vail DDE - надо переписывать программу 1
Indy Servers - все равно, что стрелять из пушки по воробьям, снова переписывать п1
файловый обмен - особая форма извращения (как п1 узнает что ей чета написали, опять надо переписывать)
так что реально только через WM, и сложного там ни чего нет.
Но чтобы дать конкретный совет нужны уточнения
присоединяюсь ко всем высказываниям
+
Динамический обмен данными (DDE)

DDE — давний и прижившийся протокол обмена данными между разными приложениями, появившийся еще на заре эры Windows. С тех пор на его базе был создан интерфейс OLE, а в 32-разрядном API Windows появились и другие методы межпрограммного взаимодействия. Но ниша, занимаемая DDE, осталась неизменной — это оперативная передача и синхронизация данных в приложениях.

Приложения, использующие DDE, разделяются на две категории — клиенты и серверы (не путать с одноименной архитектурой СУБД) . Оба участника процесса осуществляют контакты (conversations) по определенным темам (topic), при этом в рамках темы производится обмен элементами данных (items). Устанавливает контакт клиент, который посылает запрос, содержащий имена контакта и темы. После установления контакта всякое изменение элемента данных на сервере передается данным клиента. Подробно функции DDE описаны в [4].

Первоначально программирование DDE было чрезвычайно сложным делом — оно требовало взаимосвязанной обработки более чем десяти сообщений Windows. В версии Windows 3.1 появилась библиотека DDEML, которая перевела управление DDE на уровень вызова процедур. Разработчики подсистемы DDE в Delphi, верные идеологии создания VCL, свели интерфейс этого протокола к четырем компонентам — двум для сервера и двум для клиента.

На уровне поддержания контакта лежат компоненты TDDEServerConv и TDDEClientConv. Первый играет пассивную роль — он только указывает имя одной из поддерживаемых сервером тем. Все операции по установлению и разрыву контакта осуществляет из приложения-клиента второй компонент.

Посредством одного контакта могут быть связаны и синхронизированы несколько пар элементов данных. Для их описания предназначены компоненты

TDDEServerItem и TDDEClientItem. Каждый из них во время работы должен указывать на контакт, к которому он привязан. Кроме того, в составе обоих есть свойства, содержащие некий текст. При установленном контакте их содержимое синхронизируется.

Помимо этого в модуле DDEMAN описан и пятый компонент, который управляет всеми связями DDE. Его рассмотрение выходит за рамки книги.

Начнем с рассмотрения двух компонентов, необходимых для создания сервера DDE.
Жан Усенов
Жан Усенов
5 334
нихрена не видно
Очень размытый вопрос Ё, Клент Серверное приложение или перехват сообщений в другом приложении или что вообще ?