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

 C++ Discussion :

[Debutant] Impossible de trouver une correspondance avec l'objet - DLL - new


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut [Debutant] Impossible de trouver une correspondance avec l'objet - DLL - new
    Bonjour,

    ma question va peut etre vous paraitre bete mais en ce moment je n'arrette pas .


    J'ai créer une class (nomé General mais ca c pas important) avec un TOpenDialog et une fonction qui utilise se TOpenDialog;

    J'ai fais comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    class TGeneral 
    {
    public :
    AnsiString __fastcall SelectFichier();
     
    private :
    TOpenDialog* OpenDialog1;
    }
    puis la definition

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    AnsiString __fastcall TGeneral::SelectFichier()
    {
      OpenDialog1 = new TOpenDialog;
      if(OpenDialog1->Execute())
      {
     
        //--Mon code--
     
      }
    }
    Mais le truc c'est que mon compilo me dit :

    E2285 Impossible de trouver une correspondance pour 'TOpenDialog::TOpenDialog()'
    alors c'est certainement que j'ai mal fait qque chose.


    je precise que la fonction SelectFichier se trouve dans une dll et qu'elle est appellé quand l'utilisateur clique sur un bouton d'un autre projet.

    La dll n'a donc pas en elle meme de Fiche (TForm).

    Faut il que je precise quelque chose à ma class pour quell connaisse le TOpenDialog ?

    merci de vos reponses et de votre aide !

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Soit ton message apparait à la compilation, alors TOpenDialog n'a pas de constructeur par défaut, soit c'est au link alors tu ne joint pas les .lib nécessaires.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    je regarde ça tout de suite et je te dis !



    Edit1 :

    c'est à la compilation, mais TOpenDialog a forcément un constructeur car c'est un object de builder. Ce n'est pas moi qui les implementé...


    Comme ma class a été créer par moi-meme est ce que je dois faire dérivée ma class par rapport à une autre.

    Par eemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    class TGeneral : public TObjet
    {
     
    // -- Mon code--
    }

    Edit 2: Bon ben non ca change rien du tout !


    J'ai testé sur un projet vide, de créer un TOpenDialog à la main comme j'ai fais en haut et ca marche pas ! Par contre quand je mets le TOpenDialog grace à l'icone fournit par C++builder, il n'y a pas de souci ... ce qui est normal en meme temps .
    J'attends vos réponses, j'espere que vous pourrez m'aider !

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 064
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 064
    Par défaut
    Citation Envoyé par adurandet Voir le message
    c'est à la compilation, mais TOpenDialog a forcément un constructeur car c'est un object de builder. Ce n'est pas moi qui les implementé...
    Je parlais d'un constructeur par défaut, c'est à dire celui auquel tu ne passes pas d'argument (comme tu le fais la). Je ne connais pas la VCL mais j'ai l'habitude d'autres apis graphiques et, en général, il est nécessaire d'assigner une fenêtre à une boite de dialogue. Lis la documentation de ton api !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 114
    Par défaut
    ok, merci de ta reponse, je vais chercher de se coté la...


    Malheureusement si je n'ai pas de fenetre, donc je ne sais pas comment je vais lui en assigner une...

    Mai sje vais y reflechir.

    Ciao!

  6. #6
    Expert éminent
    Avatar de koala01
    Homme Profil pro
    aucun
    Inscrit en
    Octobre 2004
    Messages
    11 633
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : aucun

    Informations forums :
    Inscription : Octobre 2004
    Messages : 11 633
    Par défaut
    Salut,

    Pour mettre à la main un des formulaire préparé par Borland, il faut au minimum:
    • une déclaration anticipée de la classe dans le fichier d'en-tête
    • l'inclusion du fichier d'en-tête dans lequel le formulaire est défini dans le fichier d'implémentation

    ou
    l'inclusion du fichier d'en-tête dans lequel le formulaire est défini dans le fichier d'en-tête

    (la première solution est peut-être plus "propre"

    De tête, je dirais que le fichier à inclure est dialogs.hpp
    A méditer: La solution la plus simple est toujours la moins compliquée
    Ce qui se conçoit bien s'énonce clairement, et les mots pour le dire vous viennent aisément. Nicolas Boileau
    Compiler Gcc sous windows avec MinGW
    Coder efficacement en C++ : dans les bacs le 17 février 2014
    mon tout nouveau blog

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 15/07/2008, 19h17
  2. Impossible de prendre une valeur avec Console.Read( ?
    Par Tux1 dans le forum Windows Forms
    Réponses: 9
    Dernier message: 07/01/2007, 16h29
  3. [debutant]probleme envoi d'une chaine avec send()
    Par romainromain dans le forum Réseau
    Réponses: 4
    Dernier message: 23/11/2006, 22h37
  4. impossible de comparer une chaine avec use strict
    Par erc_fun dans le forum Langage
    Réponses: 6
    Dernier message: 05/10/2006, 10h56
  5. [Plugin][MYECLIPSE]Impossible de trouver une JVM
    Par tolsam dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 08/08/2004, 20h46

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