Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];




Вниз

DDE 


Лана Розанова   (2002-02-25 12:01) [0]

Как соединиться с WORD-ом. Может вопрос неправильный, но нужен примерчик соединения через DDE с какими-нибудь программами.
СПАСИБО!!!



serg   (2002-02-25 12:15) [1]

1. запускаешь Word.
2. кидаешь на форму TDdeClientConv.
у него DdeService = winword
и DdeTopic = system , например.
Все, подключение есть.

дальше начинаешь посылать команды.
Вот только где бы взять список команд?
Если достанешь, то кидани мне на мыло,пожалуйста.



Лана Розанова   (2002-02-25 12:30) [2]

Нет, это не то.
Так просто при запуске программы запускается еще и Word,
а вот как при наборе текста, текст отображался в моей программе???



serg   (2002-02-25 12:39) [3]

если тебе надо из Word управлять другими прогами,
то в Word делаешь макрос, в котором исп. функции DDE...
Для DELPHI:
В проге на DELPHI тогда надо исп.TDdeServerConv,TDdeServerItem.
а в Word

Dim TheCanel As Long
TheCanel = Application.DDEInitiate(DDEServerAplName,DDEServerName)
Application.DDEPoke TheCanel, ...
Application.DDETerminate TheCanel

или это тоже не то?



Лана Розанова   (2002-02-25 12:48) [4]

А вот как его, макрос, делать?
И вот это где надо писать?
Dim TheCanel As Long
TheCanel = Application.DDEInitiate(DDEServerAplName,DDEServerName)
Application.DDEPoke TheCanel, ...
Application.DDETerminate TheCanel

Так то все то, но я ужасно ничего не понимаю.



Лана Розанова   (2002-02-25 12:59) [5]

Миленький serg.
Так все сложно. Может поэтапно разберем эту тему. Или ты знаешь, где прочитать можно?



serg   (2002-02-25 13:44) [6]

Почитать можно в Helpe по VBA и в MSDN.

Поэтапно:
1.Открываешь Word.
2.Нажимаешь в нем Alt+F11(открывается редактор VBA)
3.Открываешь проект.
4.Набираешь:
sub MyFirstDDE
Dim TheCanel As Long
TheCanel = Application.DDEInitiate("DDEProject", "MyDDEServer")
Application.DDEPoke TheCanel, "MyDDEItem", "Текст,который передаешь в прогу"
Application.DDETerminate TheCanel
end sub

5.Открываешь DELPHI
6.Создаешь новый проект и называешь его DDEProject
7.кидаешь на форму TDdeServerConv.
8.называешь его (Name=) MyDDEServer
9.кидаешь на форму TDdeServerItem
10. устанавливаешь его сво-о ServerConv в MyDDEserver
11.называешь его MyDDEItem
12. делаешь у него обработчик
procedure MyDDEItem.OnPokeData(Sender:TObject);
begin
ShowMessage(MyDDEItem.Text);
end;

13.Запускаешь этот проект.
14.Переходишь в Word
15.Запускаешь макрос MyFirstDDE

Вот примерно так.Удачи



Лана Розанова   (2002-02-25 14:00) [7]

Не получается что-то. При запуске макроса пишет ошибку в другом приложении.
Что делать?



Лана Розанова   (2002-02-25 14:00) [8]

Не получается что-то. При запуске макроса пишет ошибку в другом приложении.
Что делать?



serg   (2002-02-25 14:15) [9]

Только что сделал все так как написал.
Все Ок.
наверное не так что то сделала.
Что за ошибка?



Лана Розанова   (2002-02-25 14:17) [10]

Сейчас снова попробую, а ошибка такая.
При запуске макроса, "Ошибка другого приложения", вот.



serg   (2002-02-25 14:26) [11]

у меня такой ошибки не получается никак.
у меня 2000 сервер.



Лана Розанова   (2002-02-25 14:30) [12]

Ошибка 4598.
Хоть тресни, а пишет эту мульку.
Может на мыло мне скинешь проект Delphi?



serg   (2002-02-25 14:41) [13]

Отправил.
А зачем тебе это вообще надо?



Лана Розанова   (2002-02-25 16:02) [14]

Вообще хочется научиться работе с DDE.
А так мне надо будет сформировать общение моей программы с проектом WINCC. Вот так.



Лана Розанова   (2002-02-25 16:11) [15]

Спасибо, все получилось.
А вот как сделать что-бы отображалось не тот текст, что задаем в макросе, а то что набираем?



serg   (2002-02-25 17:31) [16]

этого не знаю.
я уперся в то , что негде взять список команд Worda
и на этом остановился. но в MSDN вроде такое описано.
посмотри пример, который с DELPHI идет. но кажется там все на OnChange построено.
такое реализовать - наверное это уже высший пилотаж.




Форум: "Основная";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.03.11;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.74 MB
Время: 0.019 c
14-32553          Иван Шихалев          2002-01-08 19:59  2002.03.11  
А не посоветует ли кто :)


6-32524           Delphimun             2001-12-24 11:03  2002.03.11  
Поиск файлов в локальной сети


7-32595           Bob5                  2001-12-04 07:52  2002.03.11  
Помогите пожалуйста!


1-32514           AngeL B.              2002-02-25 13:28  2002.03.11  
Как узнать IP-адрес тонкого клиента


3-32426           SGrigory              2002-02-07 16:23  2002.03.11  
Снова про индексы в Paradox