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

Langage Delphi Discussion :

Delphi5 en delphi7


Sujet :

Langage Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 89
    Points : 56
    Points
    56
    Par défaut Delphi5 en delphi7
    Bonjour,

    Pour éviter de lancer plusieurs fois mon application, en dephi 5 j'écrivais

    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
    program Project1;
     
    uses
      Forms,
      Windows,
      Unit1 in 'Unit1.pas' {Form1},
      WinSysUtils in 'WinSysUtils.pas';
     
    {$R *.RES}
     
    begin
     SetLastError(NO_ERROR);
      CreateMutex (nil, False, 'printer write V1.9');
      if GetLastError = ERROR_ALREADY_EXISTS then
        Exit;
      Application.Initialize;
      Application.Title := 'printer write V1.9';
      Application.CreateForm(TForm1, Form1);
      Application.Run;
     
    end.
    Mais Delphi7 ne connais pas SetLastError

    Avez-vous un idée pour interdire a mon application d'être lancer plusieurs fois ?

  2. #2
    Expert éminent sénior
    Avatar de Cl@udius
    Homme Profil pro
    Développeur Web
    Inscrit en
    Février 2006
    Messages
    4 878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 4 878
    Points : 10 008
    Points
    10 008
    Par défaut
    Salut
    Citation Envoyé par jeanmy Voir le message
    Mais Delphi7 ne connais pas SetLastError
    Si si, SetLastError, GetLastError sont définis l'unité Windows
    Ce qui m'étonne c'est qu'elle est dans tes uses.

    Qu'est-ce qu'il y a dans l'unité WinSysUtils ? Quelque chose qui créé une "interférence" avec Windows.

    @+

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    Citation Envoyé par Cl@udius Voir le message
    Salut

    Qu'est-ce qu'il y a dans l'unité WinSysUtils ?
    C'est une unité que je réaliser avec des fonctions divers "windows"

    voici mes fonctions dans cette unité

    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
    Function  RenvoiDossier(Identifiant : Integer) : String;
    Procedure RenseigneSurWindows(Var Dossiers : Array Of WideString);
    Procedure RelancerWINDOWS95;
    Procedure ArreterWINDOWS95;
    Procedure RelancerWINDOWS_NT;
    Procedure ArreterWINDOWS_NT;
    Procedure EcritRegistre(Racine : DWord;Clef, Nom, Valeur : String);
    Procedure Associe(Extension : String;Executable : String; Icone : String);
    Procedure RetireAssociation(Extension : String);
    Function  LanceProcAtt(Nom : String) : Boolean;
    Function  LanceProc(Nom : String) : Boolean;
    Procedure CreFicLien(FicSource, FicRaccourci : String; WorkingDirectory:String);
    Procedure EffaceLien(Chemin, NomRaccourci : String);
    Function  DossierStartUp : String;
    Procedure AutoRunRaccourci(FichierADemarrer : String);
    Procedure AutoRunSuppression(FichierADemarrer : String);
    Function  ScreenSaverActif : Boolean;
    Procedure DesactiveScreenSaver;
    Procedure ActiveScreenSaver;
    Function  GetWindowsVersion : String;
    Procedure QuelleResolutionEcran(Var L,H : Integer);
    Function  ChangeResolutionEcran(L,H,B : Integer) : Boolean;
    Function  ChangeLectureSeule(Nom : String;LectureSeule : Boolean) : Boolean;
    Function  ChangeDateHeureFichier(Nom : String;DateHeure : TDateTime) : Boolean;
    Function  RetourneDateHeureFichier(Nom : String) : TDateTime;
    Function  FichierEstRepertoire(Nom : String) : Boolean;
    Procedure BarreTacheVisible(Visible : Boolean);
    Function  RepertoireVide(Chemin : String) : Boolean;
    Procedure ListerTousRepertoires(Racine : String;Liste : TStringList);
    Function  ListeContenuRepertoire(Nom : String) : Integer;
    Function  LanceProcAttmaxi(Nom : String;dureMs : integer) : Integer;
    Function LireRegistre(Racine : DWord;Clef, Nom :String):string;

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    89
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 89
    Points : 56
    Points
    56
    Par défaut
    je viens de trouver la solution

    Il faut ajouter Windows dans USES

    voila le code

    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
    program Project1;
     
    uses
      Forms,
      Windows,
      Unit1 in 'Unit1.pas' {Form1},
      Ubd in 'Ubd.pas' {BD: TDataModule},
      Unit2 in 'Unit2.pas' {FProvider},
      Unit3 in 'Unit3.pas' {FTag},
      Unit4 in 'Unit4.pas' {Form4},
      Unit5 in 'Unit5.pas' {FTmachines},
      Unit6 in 'Unit6.pas' {FTin},
      Unit7 in 'Unit7.pas' {Form7},
      WinSysUtils in 'WinSysUtils.pas';
     
    {$R *.res}
     
    begin
      SetLastError(NO_ERROR);
      CreateMutex (nil, False, 'Export V3.0');
      if GetLastError = ERROR_ALREADY_EXISTS then
        Exit;
      Application.Initialize;
      Application.Title := 'Export V3.0';
      Application.CreateForm(TForm1, Form1);
      Application.CreateForm(TBD, BD);
      Application.Run;
    end.

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

Discussions similaires

  1. [CR8.5][Delphi7] Choix de l'imprimante
    Par Petit vinou dans le forum SDK
    Réponses: 8
    Dernier message: 06/11/2003, 09h38
  2. Delphi7 winxp pro renvoyer un TLabel connu par nom
    Par regis1_1 dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/06/2003, 11h09
  3. Réponses: 5
    Dernier message: 24/04/2003, 22h08
  4. [RAVE][DELPHI7] Comment faire un graphique ?
    Par DFANDOR dans le forum Rave
    Réponses: 7
    Dernier message: 06/02/2003, 20h25
  5. [Delphi7] Migration Delphi 6
    Par Lux interior dans le forum QuickReport
    Réponses: 2
    Dernier message: 06/12/2002, 12h05

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