ИнициализацияКак и в работе с DirectDraw, мы сделаем для DirectPlay свой модуль и назовем его mdlDirectPlay. Первый шаг который надо совершить в любом приложении, использующем DirectPlay - создать объект DirectPlay4 и перечислить доступные протоколы. Для этого мы напишем процедуру InitDPlay. Все объявления поместите в раздел Declarations модуля.
Обратите внимание, что если вы собираетесь использовать модуль mdlDirectPlay7 с другими модулями, например mdlDirectDraw7, которые разбирались в "Уголке", вы должны убрать объявления объекта DirectX7 из всех мест, кроме одного. Например я оставляю его всегда в mdlDirectDraw7, так как использую его почти во всех своих проектах. В нашем случае, мы оставим объявление объекта DirectX7 здесь, потому что не будем использовать никаких ранее сделанных модулей. В процедуре InitDPlay мы создали объект DirectPlay4 таким же образом, как и объект DirectDraw. Затем, мы получили в объекте gObjEnumConnections список протоколов для установления связи. После того, как мы получили набор соединений в объекте DirectPlayEnumConnections, надо их оттуда поодиночке извлечь. Следующая функция возвращает массив из строк, который будет состоять из найденных способов соединений. Поместите эту функцию в модуль mdlDirectPlay.
В принципе, вы теперь уже готовы к первому запуску приложения. На форме frmMain нарисуйте ListBox lstConnections - туда будут помещаться найденные соединения. Теперь, добавьте в процедуру FormLoad такой код:
Запустите программу и скорее всего в ListBox'е вы увидите несколько способов подключения. У меня дома нет никакой сети, кроме теоретического нуль-модема, однако результатом у меня было четыре способа соединения: IPX, TCP/IP, Модем и Нуль-Модем. У кого-то может быть больше, у кого-то может быть меньше. Таким образом, даже не имея доступной сети, вы можете добиться результатов от нашей программы. |