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

Problème ' Identifier redeclared '


Sujet :

Delphi

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 32
    Points
    32
    Par défaut Problème ' Identifier redeclared '
    Bonjour,

    Quand je compile mon projet une erreur apparait : [Error] Excel.pas(34) : Identifier redeclared : Excel alors que je ne pense pas avoir redéclaré quoi que ce soit.
    Je vous mets le code où apparaît l'erreur :


    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
    unit Excel;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleServer, Excel97, ComObj, StdCtrls;
     
    type
      Texcel = class
      procedure Creer(nom : string);
      procedure Ouvrir(fichier : string);
      procedure Ecrire(lig:integer ; col:integer; text:string);
      procedure Fermer;
     
      private
        { Déclarations privées }
      public
        { Déclarations publiques }
      end;
     
    var
      Excel : Texcel; 
      OleApplication : variant;
      OleWorkbook : variant;
     
    implementation
     
    {$R *.dfm}
     
    {******************** Crée un fichier excel ***********************************}
     
      procedure Texcel.Creer(nom : string);
      begin
        OleApplication:=CreateOleObject('Excel.Application');
        OleApplication.Visible:=false;
        OleWorkbook:=OleApplication.workBooks.Add;
        OleApplication.ActiveWorkBook.SaveAs('C:\excel\'+nom+'.xls');
        OleApplication.Quit;
        OleApplication:=Unassigned;
      end;
     
    {******************** Ouvre un fichier excel **********************************}
     
      procedure Texcel.Ouvrir(fichier : string);
      begin
        OleApplication:=CreateOleObject('Excel.Application');
        OleApplication.Visible:=true;
        OleWorkBook:=OleApplication.WorkBooks.Open(Fichier);
      end;
     
    {********************* Ecrire dans un fichier excel****************************}
     
      procedure Texcel.Ecrire(lig:integer ; col:integer; text:string);
      begin
        OleApplication.cells[lig,col].value:=text;
      end;
     
    {********************* Ferme un fichier excel *********************************}
     
      procedure Texcel.Fermer;
      begin
        try
          OleApplication.ActiveWorkBook.Save;
          OleApplication.Quit;
          OleApplication:=Unassigned;
        except
        end;
      end;
     
    end.
    Je mets en effet dans var Excel : Texcel; car j'appelle ma procedure Texcel.Creer(nom : string); dans une autre Unit donné ci aprés.
    J'appelle ma procédure dans NouvelleExperience.
    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
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    unit Exp;
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, Menus, StdCtrls, jpeg, ExtCtrls, OleServer, Excel2000, Excel;
     
    type
      TForm1 = class(TForm)
        Button1: TButton;
        RadioButton1: TRadioButton;
        RadioButton2: TRadioButton;
        RadioButton3: TRadioButton;
        RadioButton4: TRadioButton;
        GroupBox1: TGroupBox;
        Fichier1: TMenuItem;
        Nouvelleexprience1: TMenuItem;
        Quitter1: TMenuItem;
        TMainMenu: TMainMenu;
        Button3: TButton;
        Label1: TLabel;
        Label2: TLabel;
        Image1: TImage;
        Image2: TImage;
        N1: TMenuItem;
        procedure Quitter1Click(Sender: TObject);
        procedure Button3Click(Sender: TObject);
        procedure Nouvelleexprience1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;
     
    var
      Form1: TForm1;
     
    implementation
     
    {$R *.dfm}
     
    procedure TForm1.Quitter1Click(Sender: TObject);
    begin
            close;
    end;
     
    procedure TForm1.Button3Click(Sender: TObject);
    begin
            close;
    end;
     
    procedure TForm1.Nouvelleexprience1Click(Sender: TObject);
    var nom : string;
    begin
            Excel.Creer(nom);
    end;
     
    end.
    Je précise que je travaille sous Delphi 6 sous Windows 2000.
    Je n'arrive pas à trouver pourquoi et si quelqu'un avait une idée, cela m'aiderait beaucoup.

    Merci d'avance

  2. #2
    Membre émérite Avatar de Cpt Anderson
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2005
    Messages
    624
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 624
    Points : 2 477
    Points
    2 477
    Par défaut
    Verifie s'il n'y a pas une class de base de delphi s'appelant TExcel !
    Voici la méthode de mon chef:

    copy (DateTimeToStr(Now),7,4)+
    copy (DateTimeToStr(Now),4,2)+copy (DateTimeToStr(Now),1,2)+copy (DateTimeToStr(Now),12,2)+
    copy (DateTimeToStr(Now),15,2)+copy (DateTimeToStr(Now),18,2)

    Je lui ai dit que FormatDateTime irait surement mieux


  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Ton problème vient d'ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    unit Excel; // <------------- le nom de l'unité est Excel et tu appels ta variable Excel
     
    interface
     
    uses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleServer, Excel97, ComObj, StdCtrls;
     
    var
      Excel : Texcel;  // <<---------------- Variable qui à le nom d'une unité
      OleApplication : variant;
      OleWorkbook : variant;
    Je te conseil de renommer ton unité uExcel, ca t'évitera des problèmes
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  4. #4
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    C'est ton unité qui porte le meme nom "UNIT excel;" que ta variable.
    renomme ta var sinon renomme ton unité. si tu renomme ton unité en uExcel par exemple il faudrait pas oublier de renommer le fichier qui la contient, car il doit avoir le meme nom que ton unit avec l'extension .pas
    Cordialement
    Octal
    http://www.pocketmt.com GLCD Font Creator home site.

  5. #5
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Malatar ... plus rapide que son ombre
    http://www.pocketmt.com GLCD Font Creator home site.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    66
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 66
    Points : 32
    Points
    32
    Par défaut
    Ok merci beaucou j'ai essayé ça marche

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

Discussions similaires

  1. Problème Identifiant differents entre plateformes
    Par Bluedeep dans le forum ASP.NET
    Réponses: 2
    Dernier message: 29/05/2011, 14h09
  2. Problème identifié sur PC portable hp
    Par Berkut dans le forum Composants
    Réponses: 0
    Dernier message: 04/06/2009, 23h48
  3. Réponses: 8
    Dernier message: 12/04/2007, 11h32
  4. [REDHAT] problème identifiant et mdp
    Par Doulim dans le forum RedHat / CentOS / Fedora
    Réponses: 4
    Dernier message: 13/01/2007, 14h46
  5. Problème identifiant hibernate
    Par kokumbo dans le forum Hibernate
    Réponses: 2
    Dernier message: 15/11/2006, 19h18

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