Вниз
Скачать: 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.02 c
14-1086899285
KnowledgeSeeker
2004-06-11 00:28
2004.06.27
Память под приложение.


1-1086887027
nester
2004-06-10 21:03
2004.06.27
Как зашифровать exe-шник и расшифровать его на лету.


4-1085083692
Sanek_metaller
2004-05-21 00:08
2004.06.27
Параметры через SandMessage();


1-1087150209
iudjen
2004-06-13 22:10
2004.06.27
drag drop


11-1075928030
Sniper
2004-02-04 23:53
2004.06.27
альтернатива RichEdit1.SelAttributes.Color := clRed; в KOL?




   Наверх