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++Builder Discussion :

Utiliser un TObject (ici un TImage) dans une classe indépendante d'un Form


Sujet :

C++Builder

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 2
    Par défaut Utiliser un TObject (ici un TImage) dans une classe indépendante d'un Form
    Je suis en train de développer un projet qui necessiste le chargement et la sauvegarde d'images à partir et vers le disque dur.
    Apres avoir parcouru la FAQ, je n'ai pas trouvé de solution à mon probleme.
    Ma classe image encapsule un TImage pour pouvoir manipule les images.

    grosso modo ca donne :
    .h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    class Image
    {
    	String Id_Image;
    	String Id_Sequence;
    	double Largeur_onde;
    	double Longueur_onde;
    	TImage* Img;
     
    	public:
     	// Constructeur par recopie en profondeur
    	Image(const Image &ImgSource);
            // Opérateur = (recopie en profondeur)
            Image& operator=(const Image &ImgSource);
            // Destructeur en profondeur
            ~Image(){delete []Img;}
    	Image(const String &Id_Seq):Id_Image(NULL),Id_Sequence(Id_Seq),Img(NULL){}
     
     
    	void Image::Sauve(const String &chemin);
     
    };
    .cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    Image::Image(const Image & ImgSource)
    {
            TImage *pImg;
    	pImg= new TImage(???);
            Img=pImg;
    
    }
    
    Image& Image::operator=(const Image &ImgSource)
    {
            if (this!=&ImgSource)
            {
                    delete []Img;
                    TImage *pImg;
            	pImg= new TImage(???);
                    Img=pImg;
            }
            return * this;
    }
    
    void Image::Set(int no_image, const double &larg_onde, const double &long_onde)
    {
            Img=new TImage(???);
    	//création de l'id de l'image
    	Largeur_onde = larg_onde;
    	Longueur_onde = long_onde;
            Set_Id(no_image);
    }
    
    Image& Image::Acquiert()
    {
            String chemin="C:\\test.bmp"
    	Img->Picture->LoadFromFile(chemin.c_str()); // errreur a la compil
    	return *this;
    }
    
    void Image::Sauve(const String &chemin)
    {
    	String file = chemin;
    	file += Id_Image;
    	file += ".bmp";
    	Img->Picture->SaveToFile(file);
    }



    Mon problème est selon moi que je ne dispose pas de owner pour mon image.

    Comment donner comme owner le TForm qui utilise ma classe?

    Peut être faut il utiliser des variables extern? (je ne maitrise pas très bien cela.

    En espérant que ca pourra m'aider ainsi qu'au reste de la communauté.

  2. #2
    Expert confirmé

    Avatar de pottiez
    Homme Profil pro
    Développeur C++
    Inscrit en
    Novembre 2005
    Messages
    7 152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur C++
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2005
    Messages : 7 152
    Par défaut
    Soit tu met simplement NULL, pour ne rien mettre, soit lors de l'implementation de ta classe tu demande un Owner dans ton constructeur, que tu vas sauver dans un parametre pour pouvoir le mettre ensuite dans ton TImage.

Discussions similaires

  1. utiliser le resultat d'un SUM dans une variable
    Par Qapoka dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 16/05/2006, 15h47
  2. [POO] Utilisation d'une classe dans une classe !
    Par Okinou dans le forum Langage
    Réponses: 3
    Dernier message: 16/02/2006, 14h34
  3. [debutant] Utilisation de l'operateur = dans une classe
    Par Battosaiii dans le forum Débuter
    Réponses: 8
    Dernier message: 10/11/2005, 23h01
  4. Utiliser la valeur d'un input dans une variable php
    Par megane dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/08/2005, 16h02
  5. utiliser mysql++ dans une classe
    Par Yevetrovitch dans le forum Bibliothèques
    Réponses: 2
    Dernier message: 11/04/2005, 10h53

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