![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
DDE
Лана Розанова © (2002-02-25 12:01:00)Как соединиться с WORD-ом. Может вопрос неправильный, но нужен примерчик соединения через DDE с какими-нибудь программами.
СПАСИБО!!!
serg (2002-02-25 17:31:00) [1]этого не знаю.
я уперся в то , что негде взять список команд Worda
и на этом остановился. но в MSDN вроде такое описано.
посмотри пример, который с DELPHI идет. но кажется там все на OnChange построено.
такое реализовать - наверное это уже высший пилотаж.
Лана Розанова (2002-02-25 16:11:00) [2]Спасибо, все получилось.
А вот как сделать что-бы отображалось не тот текст, что задаем в макросе, а то что набираем?
Лана Розанова (2002-02-25 16:02:00) [3]Вообще хочется научиться работе с DDE.
А так мне надо будет сформировать общение моей программы с проектом WINCC. Вот так.
serg (2002-02-25 14:41:00) [4]Отправил.
А зачем тебе это вообще надо?
Лана Розанова (2002-02-25 14:30:00) [5]Ошибка 4598.
Хоть тресни, а пишет эту мульку.
Может на мыло мне скинешь проект Delphi?
serg (2002-02-25 14:26:00) [6]у меня такой ошибки не получается никак.
у меня 2000 сервер.
Лана Розанова (2002-02-25 14:17:00) [7]Сейчас снова попробую, а ошибка такая.
При запуске макроса, "Ошибка другого приложения", вот.
serg (2002-02-25 14:15:00) [8]Только что сделал все так как написал.
Все Ок.
наверное не так что то сделала.
Что за ошибка?
Лана Розанова (2002-02-25 14:00:00) [9]Не получается что-то. При запуске макроса пишет ошибку в другом приложении.
Что делать?
Лана Розанова (2002-02-25 14:00:00) [10]Не получается что-то. При запуске макроса пишет ошибку в другом приложении.
Что делать?
serg (2002-02-25 13:44:00) [11]Почитать можно в 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 12:59:00) [12]Миленький serg.
Так все сложно. Может поэтапно разберем эту тему. Или ты знаешь, где прочитать можно?
Лана Розанова (2002-02-25 12:48:00) [13]А вот как его, макрос, делать?
И вот это где надо писать?
Dim TheCanel As Long
TheCanel = Application.DDEInitiate(DDEServerAplName,DDEServerName)
Application.DDEPoke TheCanel, ...
Application.DDETerminate TheCanel
Так то все то, но я ужасно ничего не понимаю.
serg (2002-02-25 12:39:00) [14]если тебе надо из 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:30:00) [15]Нет, это не то.
Так просто при запуске программы запускается еще и Word,
а вот как при наборе текста, текст отображался в моей программе???
serg (2002-02-25 12:15:00) [16]1. запускаешь Word.
2. кидаешь на форму TDdeClientConv.
у него DdeService = winword
и DdeTopic = system , например.
Все, подключение есть.
дальше начинаешь посылать команды.
Вот только где бы взять список команд?
Если достанешь, то кидани мне на мыло,пожалуйста.