Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.04.16;
Скачать: CL | DM;

Вниз

Глючит DDE   Найти похожие ветки 

 
Anton B.   (2006-01-23 18:14) [0]

Есть DDE сервер (сервер работает нормально,  проверено через Excel).
Но получать данные правильно не удается. Использую стандартные компоненты Delphi: DDEClientConv и DDEClientItem.

Вот код (все просто)

procedure TForm1.FormCreate(Sender: TObject);
Begin

DDeClientConv1.SetLink("ICTS", "PAIR");

DDeClientItem1.DdeConv := DDEClientConv1;
DDeClientItem2.DdeConv := DDEClientConv1;

DdeClientItem1.DdeItem := "BID_EUR_USD";
DdeClientItem2.DdeItem := "ASK_EUR_USD";

End;

procedure TForm1.DdeClientItem1Change(Sender: TObject);
begin
 StringGrid1.Cells[1,1] := DdeClientItem1.Text;
end;

procedure TForm1.DdeClientItem2Change(Sender: TObject);
begin
 StringGrid1.Cells[2,1] := DdeClientItem2.Text;
end;

Проблема в том что в первый раз данные передаются для обоих, но потом событие onChange срабатывает лишь для того кто был обозначен первым, в этом примере это
DdeClientItem1.DdeItem := "BID_EUR_USD";

Помогите пожалуйста, что я не так делаю?


 
Eraser ©   (2006-01-23 21:16) [1]


> Anton B.   (23.01.06 18:14)

DDE это мёртвая технология, не стоит себе голову морочить.


 
Anton B.   (2006-01-23 21:24) [2]

Я согласен, что мертвая, но никаким другим способом мне данные не получить :(


 
Eraser ©   (2006-01-23 23:00) [3]


> Anton B.   (23.01.06 21:24) [2]

Ещё как получить. COM в помощь. В Делфи даже для удобства спец. компоненты разработали.


 
Anton B.   (2006-01-23 23:17) [4]

Через COM можно получить данные с DDE сервера? где можно по подробней это узнать


 
Stifler   (2006-01-24 17:08) [5]

Mastera help, ta ze problema !!! Mozet problema v samom Delphi 6 ?


 
Digitman ©   (2006-01-24 17:25) [6]


> Anton B.   (23.01.06 23:17) [4]
> Через COM можно получить данные с DDE сервера?


Нельзя.
Но с неменьшим успехом можно получить данные с СОМ-сервера, каковым может являться то самое интересующее тебя приложение, одновременно и в том числе являющееся и DDE-сервером и COM/OLE-сервером.


 
Anton B.   (2006-01-24 23:38) [7]

Проблема в том, что это самое приложение никак нельзя подправить или переделать, оно есть и все тут, в нем есть DDE сервер, по которому можно забрать из этого приложения необходимые данные. А этот гребаный DDE компонент в Delphi работает через …

Очень нужно решить эту проблему, pliz help me :(


 
Digitman ©   (2006-01-25 09:19) [8]

т.е. если изменить порядок присвоения на

DdeClientItem1.DdeItem := "ASK_EUR_USD";
DdeClientItem2.DdeItem := "BID_EUR_USD";

то теперь событие будет возникать лишь для "ASK_EUR_USD" ?
я правильно понял ?


 
Anton B.   (2006-01-25 21:27) [9]

да


 
Digitman ©   (2006-01-26 08:31) [10]

Для начала убедись средствами, например, станд.утилиты DDESPY.EXE в составе MS VisualStudio в том что упомянутые события на самом деле возникают, при том что Делфи-компонент их почемк-то не транслирует в кл.программу.

Если шпион покажет, что дело обстоит именно так, есть резон изучить и прогнать исходники используемых DDE-компонентов под отладчиком пошагово с целью выяснения , где и в каком месте кода компонента происходят "чудеса".

На крайний случай можно реализовать собственный клиентский DDE-доступ непосредственно на WinAPI, пользуясь станд.справкой и примерными фрагментами кода борландовского компонента.



Страницы: 1 вся ветка

Текущий архив: 2006.04.16;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.079 c
15-1143020600
Кручен-Верчен
2006-03-22 12:43
2006.04.16
Не получается решить интегралы.


2-1143713097
Yegorchic
2006-03-30 14:04
2006.04.16
CheckBox.Caption в 2 строки


15-1143305416
ArtemESC
2006-03-25 19:50
2006.04.16
Комитет 300


2-1143632624
apic
2006-03-29 15:43
2006.04.16
Уважаемые мастера, ПАМАГИТЕ!!!!!!!!!!!!!


15-1143133574
User32
2006-03-23 20:06
2006.04.16
подскажите что это такое с программой?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский