IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

DirectX Discussion :

[DirectX 8 + VB6] Probleme avec DirectPlay


Sujet :

DirectX

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 18
    Points : 12
    Points
    12
    Par défaut [DirectX 8 + VB6] Probleme avec DirectPlay
    Bonjour tout le monde,

    J'ai un problème dont je n'arrive pas à me défaire. En effet, impossible d'initialiser mon serveur, j'obtient une erreur lors de l'instruction RegisterMessageHandler .

    Voilà mon code :

    dim DX as DirectX8
    dim AppDesc as DPN_APPLICATION_DESC
    dim DXPlayServeur As DirectPlay8Server
    dim DXPlayServeurIP As DirectPlay8Address

    Set DX = New DirectX8
    With AppDesc
    .guidApplication = "{5726CF1F-702B-5008-28BC-EF9C95D9E288}"
    .lMaxPlayers = 32
    .SessionName = "Test"
    .lFlags = DPNSESSION_CLIENT_SERVER
    End With
    Set DXPlayServeur = DX.DirectPlayServerCreate
    Set DXPlayServeurIP = DX.DirectPlayAddressCreate
    DXPlayServeur.RegisterMessageHandler Me <--- ERREUR Type incompatible
    DXPlayServeurIP.SetSP DP8SP_TCPIP
    DXPlayServeurIP.AddComponentLong DPN_KEY_PORT, 2210
    DXPlayServeur.Host AppDesc, DXPlayServeurIP


    J'enprofite aussi pour poser une question : Le SDK de directX 8 /8.1 existe-t-il encore ? Si oui, où peut-on le téléchager ? Je ne trouve que le SDK de la version 9...

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2005
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 18
    Points : 12
    Points
    12
    Par défaut
    J'ai du nouveau :

    J'ai télécharger l'exemple suivant :

    http://directx4vb.vbgamer.com/DirectX4VB/Tutorials/DirectX8/DP_Lesson02.asp

    Il y a une difference par rapport a mon code. En effet, dans une form il ajoute tous les evenements de DirectPlayEvent. Jusque là OK mais comment utiliser ces funciton dans un module ? En effet l'instruction Implements ne semble pas etre accepter a l'interieur d'un module mais uniquement à l'interieur d'un objet... Que faire ?

  3. #3
    Membre habitué Avatar de Mandalar
    Profil pro
    Étudiant
    Inscrit en
    Mai 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2004
    Messages : 121
    Points : 128
    Points
    128
    Par défaut
    En vb6, tu pourrais essayer
    Mais peut-etre que l'argument doit etre la référence d'une fonction ?

  4. #4
    Inactif  

    Homme Profil pro
    Ingénieur test de performance
    Inscrit en
    Décembre 2003
    Messages
    1 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur test de performance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 986
    Points : 2 605
    Points
    2 605
    Par défaut Re: [DirectX 8 + VB6] Probleme avec DirectPlay
    Citation Envoyé par Ekud
    J'enprofite aussi pour poser une question : Le SDK de directX 8 /8.1 existe-t-il encore ? Si oui, où peut-on le téléchager ? Je ne trouve que le SDK de la version 9...
    Salut.

    On peut télécharger pratiquement toutes les anciennes versions du SDK:

    http://www.microsoft.com/downloads/R...n&categoryid=2

    J'ai utilisé directplay pour une application. Cette API m'a permis de développer très rapidement un client-serveur simple.

    Mais il faut savoir que cette API n'est plus maintenue, parce qu'elle est "unsafe". Je l'ai constaté en rencontrant des bugs de "ouf", à s'arracher les cheveux (certaines fonctions sont incompatibles avec les API DirectPlay). Winsock est conseillé à la place de DirectPlay.

    Mais pour du développement rapide, bien contrôlé, ou pour s'amuser rapidement avec un client-serveur de jeu, DirectPlay est sympathique.

    Pour ton problème, j'ai du mal à voir, parce que je ne développe qu'en C++. Il semble qu'il faille qua la fonction soit du même type que celui attendu par "DXPlayServeur.RegisterMessageHandler". En C++ et pour un objet, on déclarerait la fonction "static" et on on effectuerait un "cast".

    Sinon en dehors d'un objet, on déclarerait la fonction comme globale, et celle-ci récupèrerait un pointeur sur l'objet concerné.

Discussions similaires

  1. [VB6] Probleme avec les evenements keydown et keyup
    Par johnson95 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/07/2006, 13h50
  2. [VB6] Probleme avec initialisation d'un Data ADO dans form Load
    Par angelevil dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 01/06/2006, 22h41
  3. Réponses: 3
    Dernier message: 01/06/2006, 19h45
  4. [VB6] probleme avec printer.paintpicture
    Par cisnake dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 24/05/2006, 14h01
  5. [VB6] Problèmes avec ListView
    Par FlopErik dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 12/03/2003, 16h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo