Вверх ↑
Ответов: 2125
Рейтинг: 159
#1: 2008-05-08 10:56:14 ЛС | профиль | цитата
Алексей писал(а):
почему программа сервер запускается автоматически

Потому-что заполнено свойство ServerApp. Его можно оставить пустым, тогда при попытке соединения получишь ошибку, которую можно обработать по своему желанию. Попытка чтения элемента останется, к сожалению, незамеченной. Но можно проверить, что передаётся через связь Link, и если оно равно нулю, то как-то среагировать на это. Надо, наверное, добавить onError в DDEClientItem, реагирующий на Link=0.

nesco писал(а):
автозапуск желательно сделать по выбору, отдельным свойством

Это свойство и есть ServerApp. Ты-ж смотрел код, наверное.

nesco писал(а):
Как раз тормоза наступают при попытке получить внешний линк

Вот тут пока необъяснимый феномен. Тормоза - при DDEConnect. Самое прикольное, у меня на домашней машине, тормоза то есть, то нет. Запускаешь из среды - тормоза есть, из эксплорера - нет. Ставишь связь onCreate---doOpenLink - получается наоборот! А вот если свойство AutoUpdate устанавливать по таймеру 1мс через doAutoUpdate, то тормозов нет, несмотря на то, что запрашивается линк, которого нет!

Я подозреваю, что наше приложение в момент DDEConnect не реагирует на сообщение от ddeml, и оно, в свою очередь тоже ждёт таймаута. Если же DDEConnect вызывается из оконной процедуры, винды как-то это разруливают.

карма: 1

0