Определение всех topic'ов данного DDE-сервера

Ответить

Код подтверждения
Введите код в точности так, как вы его видите. Регистр символов не имеет значения.

BBCode ВКЛЮЧЁН
[img] ВКЛЮЧЁН
[url] ВКЛЮЧЁН
Смайлики ОТКЛЮЧЕНЫ

Обзор темы
   

Развернуть Обзор темы: Определение всех topic'ов данного DDE-сервера

Eugie » 08 мар 2004, 23:00

Любой DDE-сервер поддерживает System topic и несколько обязательных итемов в нем, которые предоставляют клиентам общую информацию о сервере. В частности, итем 'Topics' (в коде лучше использовать константу SZDDESYS_ITEM_TOPICS) возвращает список топиков (см. 'Supporting the DDE System Topic' в MSDN).

Вот как можно это сделать средствами Дельфи:

Код: Выделить всё

procedure TForm1.btnGetDataClick(Sender: TObject);
var data: PChar;
begin
  memData.Lines.Text := '';
  with DdeClientConv1 do begin
    ServiceApplication := edServer.Text;
    if SetLink(edServer.Text, 'SYSTEM') then begin
      data := RequestData(SZDDESYS_ITEM_TOPICS); 
      { Replace TABs (which usually used as string delimiters in DDE) on CRs. }
      AnsiTABtoCR(data);
      memData.Lines.Text := String(data);
      StrDispose(data);
    end
  end;
end;

Определение всех topic'ов данного DDE-сервера

delphi-coder » 08 мар 2004, 10:16

Подскажите, можно ли определить все доступные топики у указанного DDE-сервера? Средствами паскаля\дельфи\системы\какими-то сторонними утилитами - не важно. В частности, интересует взаимодействие по DDE с MetaTrader'ом, но топики, которые я пока у него нашёл - это HIGH, LOW, ASK, BID и TIME. А мне бы ещё OPEN и CLOSE хотелось... Подозреваю что он их тоже может передать, но по какому-то другому топику... Если кто уже решал подобную проблему - откликнетесь в асю 282529094 плиз. Спасибо.

Вернуться к началу