Вниз
Скачать: CL | DM;

Ошибка функции 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.021 c
1-1086790419
TUser
2004-06-09 18:13
2004.06.27
Invalid parameter


1-1087291485
Moon
2004-06-15 13:24
2004.06.27
Перерасход памяти


1-1087166154
Mobias
2004-06-14 02:35
2004.06.27
как изменить


14-1085858493
Nick-From
2004-05-29 23:21
2004.06.27
Как написать рецензию на диплом?


6-1083687195
Popov Denis
2004-05-04 20:13
2004.06.27
Как "поймать" широковещательный udp пакет?




   Наверх