Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];
ВнизОшибка функции ExecuteMacro Найти похожие ветки
← →
BFG9k (2004-06-04 17:24) [0]Реализуется DDE обмен , причем программа-клиент представляет собой плагин (то есть DLL). В ней есть форма , на форме - DDEClientConv. Соединение устанавливается , ExecuteMacro не запускается , так как hszCmd = 0 (это внутри функции). Причем при работе клиента в качестве самостоятельной программы все работает. В чем может быть дело ?
P.S.: При попытке выполнения ExecuteMacro DDESpy выдает Error #4006 - invalid parameter в любом случае , даже при абсолютно удачном выполнении.
← →
BFG9k (2004-06-07 12:31) [1]Странно ,кажется тут мало кто знаком с DDE ... :(
← →
Clickmaker © (2004-06-07 12:41) [2]
> BFG9k (07.06.04 12:31) [1]
DDE обмен в основном потоке?
← →
BFG9k (2004-06-08 11:48) [3]Что есть основной поток ? DDE обмен между двумя программами - минимум 2 потока. В одной (своей) программе уверен точно , так как поток там всего один. Про программу , которая исползует DLL разработчик говорит (он сидит рядом), что функции клиента выполняются тоже в основном потоке. В связи с чем вопрос ?
← →
XXX (2004-06-08 14:39) [4]---
← →
Clickmaker © (2004-06-08 16:11) [5]
> BFG9k (08.06.04 11:48) [3]
У меня была такая ошибка при запуске ExecuteMacro из неосновного потока. Вылечил так:if Assigned(ddeMgr) then ddeMgr.Free;
ddeMgr := TDdeMgr.Create(Application);
← →
BFG9k (2004-06-09 16:42) [6]Эхх , поздно ты . Уже полностью переписал клиент и сервер DDE , титанический труд - все работает. Программисты борланда(я посмотрел исходник) очень извернулись , используя DDEMgr. Дело в том , что callback функции сервера и клиента не могут быть методами(так как в метод неявно передается параметр Sender), поэтому возникает проблема с событиями на сервере . В общем сделали все через ж , поэтому так глючит.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.06.27;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.034 c