Алексей писал(а):
почему программа сервер запускается автоматическиПотому-что заполнено свойство ServerApp. Его можно оставить пустым, тогда при попытке соединения получишь ошибку, которую можно обработать по своему желанию. Попытка чтения элемента останется, к сожалению, незамеченной. Но можно проверить, что передаётся через связь Link, и если оно равно нулю, то как-то среагировать на это. Надо, наверное, добавить onError в DDEClientItem, реагирующий на Link=0.
nesco писал(а):
автозапуск желательно сделать по выбору, отдельным свойствомЭто свойство и есть ServerApp. Ты-ж смотрел код, наверное.
nesco писал(а):
Как раз тормоза наступают при попытке получить внешний линкВот тут пока необъяснимый феномен. Тормоза - при DDEConnect. Самое прикольное, у меня на домашней машине, тормоза то есть, то нет. Запускаешь из среды - тормоза есть, из эксплорера - нет. Ставишь связь onCreate---doOpenLink - получается наоборот! А вот если свойство AutoUpdate устанавливать по таймеру 1мс через doAutoUpdate, то тормозов нет, несмотря на то, что запрашивается линк, которого нет!
Я подозреваю, что наше приложение в момент DDEConnect не реагирует на сообщение от ddeml, и оно, в свою очередь тоже ждёт таймаута. Если же DDEConnect вызывается из оконной процедуры, винды как-то это разруливают.