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

Delphi .NET Discussion :

portage d'un fonction C++ avec pointeurs nuls par défaut en paramètres


Sujet :

Delphi .NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    127
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 127
    Points : 49
    Points
    49
    Par défaut portage d'un fonction C++ avec pointeurs nuls par défaut en paramètres
    Bonjour, je suis confronté au problème suivant. Je désire porter la fonction suivante:

    Code c++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    int calculateXSymp(const int a, unsigned int* b= NULL, int* c= NULL, unsigned int* d= NULL){ // code de la méthode ....
    if(b != null){ /*code*/}
    }

    en delphi .net, je ne sais pas trop comment porté ça (les null sur les pointeurs) car j'utilise un passage par variable avec var. Voici l'amorce du code de ma fonction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    function  Cph.CalculateXSymp(a : Int32; var b : UInt32 := {?????};var c : UInt32 := {?????};var d : UInt32 := {?????}){ // code de la méthode ....
    if(b <> {?????}){ /*code*/}
    }
    J'anticipe une réponse possible, je ne peux pas utilisé de constantes en valeurs par défaut des paramètres de ma fonction car ceux-ci peuvent prendre toutes les valeurs de leur type (et la proba que ce soit UInt32.MaxValue n'est même pas négligeable... ). Du coup auriez-vous une suggession ?

  2. #2
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 858
    Points : 11 301
    Points
    11 301
    Billets dans le blog
    6
    Par défaut
    que se passe-t-il quand l'un des pointeurs est null ?
    il ne devrait pas pouvoir être récupéré par qui l'appelle, donc reste-t-il local et instancié par la fonction uniquement pour sa moulinette interne ?
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1 519
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1 519
    Points : 2 153
    Points
    2 153
    Billets dans le blog
    1
    Par défaut
    Ouch là tu es plutôt mal barré. en .NET les pointeurs n'existent plus. Au mieux il reste peut-être Pointer mais ça un reste un pointeur non-typé. Du coup tu vas être obligé d'utiliser les types standards plutôt que leur pointeurs mais ça risque d'être incompatible avec le traitement que tu veux porter...

    Par défaut les types simples ne sont pas nullables mais en C# on peut les spécifier nullables en rajoutant un ? accolé derrière le type, je ne sais pas si c'est faisable aussi en Delphi .NET.

    Enfin on ne peut pas mettre de valeurs par défaut aux paramètres en C# (ce "léger oubli" sera néanmoins corrigé avec la version 4.0, mieux vaut tard que jamais...) aussi je ne sais pas si c'est seulement un problème au niveau de C# ou bien si c'est l'implémentation de .NET qui ne l'autorise pas (et dans ce cas Delphi.NET ne peut pas en bénéficier non plus).
    La FAQ - les Tutoriels - Le guide du développeur Delphi devant un problème

    Pas de sollicitations techniques par MP -

Discussions similaires

  1. Ouvrir/afficher un fichier avec son logiciel par défaut
    Par Alain P. dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 20/06/2009, 18h47
  2. Apeller fonction DLL avec pointeurs en Delphi
    Par dacid dans le forum Delphi
    Réponses: 2
    Dernier message: 11/08/2006, 12h11
  3. [WD10] Utiliser une fonction OpenGL avec pointeur (int)
    Par Zoons dans le forum WinDev
    Réponses: 3
    Dernier message: 06/07/2006, 16h38
  4. Problème avec les valeurs par défaut
    Par Steph Ace dans le forum Requêtes
    Réponses: 3
    Dernier message: 12/12/2005, 09h55
  5. problème avec média player par défaut pour les vidéos ?
    Par tomguiss dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 18/10/2005, 14h08

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