Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 4 sur 4
  1. #1
    Membre habitué Avatar de jambonstar
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : janvier 2006
    Messages : 173
    Points : 130
    Points
    130

    Par défaut Datasnap 2010 et XE : erreur

    Bonjour à tous,

    J'ai un gros soucis avec la rétrocompatibilité de Datasnap.

    Nous avons un serveur datasnap fait avec delphi 2010 et lorsque je cherche à me connecter dessus avec Prism XE, j'ai une erreur "Ordinal invalide : -1"..

    Est-ce que quelqu'un a déjà eu le même problème et surtout a-t-il réussi à le contourner ?

    Merci d'avance pour votre aide précieuse

    PLUS FORT ENSEMBLE !Et plus joli aussi
    (\ _ /)
    (='.'=) Voici Lapinou.
    (")-(")
    Aidez le à conquérir le monde en le reproduisant.

    http://ashbasket.free.fr

  2. #2
    Expert Confirmé Sénior Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    10 050
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 10 050
    Points : 14 266
    Points
    14 266

    Par défaut

    Utilises-tu une énumération ?
    Client et Serveur sont en .Net ?
    As-tu vérifier, si la connexion fonctionne entre 2010<->2010 ainsi que XE<->XE ?
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  3. #3
    Membre habitué Avatar de jambonstar
    Profil pro
    Inscrit en
    janvier 2006
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : janvier 2006
    Messages : 173
    Points : 130
    Points
    130

    Par défaut

    Merci pour ta réponse rapide

    Le serveur est en Delphi 2010 et non en .NET
    Le même serveur fonctionne avec un client fait sous Prism 2010...

    Et les types échangés sont de types simple pour justement eviter ce genre de problème.
    En fait pour tester, nous avons essayé de fabriquer un serveur sous Delphi XE et sur Delphi 2010 (serveur de base avec la fonction de test prédéfinie)
    Resultat, Prism XE peut se connecter au serveur XE, mais pas au même serveur compilé sous 2010.

    Le soucis, c'est bien évidemment que cela va nous être très couteux de devoir passé toutes les sources à XE (ainsi que les bibliotheques tiers)..

    MErci pour votre aide

    PLUS FORT ENSEMBLE !Et plus joli aussi
    (\ _ /)
    (='.'=) Voici Lapinou.
    (")-(")
    Aidez le à conquérir le monde en le reproduisant.

    http://ashbasket.free.fr

  4. #4
    Expert Confirmé Sénior Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    juillet 2006
    Messages
    10 050
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : juillet 2006
    Messages : 10 050
    Points : 14 266
    Points
    14 266

    Par défaut

    Tu as donc bien un bug entre les versions !
    C'est toi ICI ?

    Faudrait tester toutes les combinaisons

    1- Client .NET XE -> Serveur Win32 2010 : KO
    2- Client Win32 XE -> Serveur Win32 2010 : ?
    3- Client .NET 2010 -> Serveur Win32 2010 : OK
    4- Client Win32 2010 -> Serveur Win32 2010 : OK
    5- Client .NET XE -> Serveur Win32 XE : OK
    6- Client Win32 XE -> Serveur Win32 XE : OK
    7- Client .NET 2010 -> Serveur Win32 XE : ?
    8- Client Win32 2010 -> Serveur Win32 XE : ?

    Tu pourrais au pire faire une sorte de Proxy, ton client .NET XE se connecte sur un Serveur Win32 XE (cas 5), qui expose les méthodes du Service, celui-ci c'est qu'une coquille vide contenant un client interne (cas 2) qui route les requêtes vers un Serveur Win32 2010 (qui lui contient le vrai code et les dépendances de lib externe)

    Autre approche si cas 2 est KO !
    Tu fais un ActiveX en Win32 2010, cet objet COM (attention au safecall) encapsule une client DataSnap en Win32 2010 qui lui utilise le server Win32 2010

    As-tu vérifié aussi, si il y a des options de versions dans les objets DataSnap ?
    BufferKBSize est-il un multiple de 32 ?

    Tu as essayé sur des machines sans Delphi installés ?
    En vérifiant les BPL et DLL installés (conflits ?)
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •