Relancer un programme. [Résolu]

hainlesgens 58 Messages postés dimanche 24 décembre 2000Date d'inscription 10 février 2009 Dernière intervention - 14 janv. 2009 à 14:33 - Dernière réponse : Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention
- 15 janv. 2009 à 16:52
bonjours à tous. je viens de créer une fonction pour supprimer de ma DBle client sélectionné dans une listview. quand je clic sur le bouton "supprimer",
petite demande de confirmation. si "annuler", rien et revenir mais si "Supprimer" je voudrais qu'il me relance le programme entierement  pour remettre à jours toute les listviews Remplies automatiquement au lancement du programme qui concerne les clients et leur différentes cascades dans la DB.
je connais la fonction
Application.terminate;

mais dans ce cas ça ne serviras à rien. et la fonction Application.restore mais ça ne marche pas non plus.
 Merci par avance.
Afficher la suite 

Votre réponse

8 réponses

Meilleure réponse
Guillemouze 1015 Messages postés samedi 25 octobre 2003Date d'inscription 29 août 2013 Dernière intervention - 14 janv. 2009 à 23:10
3
Merci
"je voudrais qu'il me relance le programme entierement  pour remettre à jours toute les listviews Remplies automatiquement au lancement du programme"

beurrkkkk, c'est pas tres joli joli comme fonctionnement ca !
si tes listview sont remplies au demarrage, il doit bien y avoir un bout de code qui fait ce traitement. Alors pourquoi ne pas rappeler ce bout de code au lieu de relancer l'application complete ?
t'imagine si t'etais obligé de relancer delphi a chaque fois que tu change de projet ou que tu ouvre un nouveau fichier ? dans ce cas la, autant revenir a la machine a ecrire

Merci Guillemouze 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de Guillemouze
Meilleure réponse
hainlesgens 58 Messages postés dimanche 24 décembre 2000Date d'inscription 10 février 2009 Dernière intervention - 15 janv. 2009 à 10:01
3
Merci
non c'est bon en fait. j'ai changer ma façon de déclaré et de chargé ma DB... il est vrai que tout chargé dans le Formcreate n'est pas très malin... je le charge maintenant individuellement selon le bouton sur lequel je click

c'est fou comme un apprenti codeur peu faire des erreurs aussi grosse que lui

Merci hainlesgens 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 94 internautes ce mois-ci

Commenter la réponse de hainlesgens
Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention - 14 janv. 2009 à 16:33
0
Merci
Application.Terminate termine le thread principal (le processus, par conséquent) de ton application.

Application.Restore redonne la focalisation la fiche principale, et restaure la fenêtre principale si elle était minimisée. Application.Restore n'a rien a faire avec l'ouverture de programme.

Il faudra peut-être créer une tâche planifiée Windows ?

Cordialement, Bacterius !
Commenter la réponse de Bacterius
hainlesgens 58 Messages postés dimanche 24 décembre 2000Date d'inscription 10 février 2009 Dernière intervention - 14 janv. 2009 à 16:54
0
Merci
qu'est-ce qu'une tache planifié? et est-ce long à faire? parce qu'il me reste seulement 3 semaines pour finir mon projet pour l'entreprise qui m'a pris en stage :D
Commenter la réponse de hainlesgens
Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention - 14 janv. 2009 à 17:12
0
Merci
Ah mince, si c'est pas que pour toi (une tâche planifiée permet de dire à Windows d'effectuer une certaine action à un certain moment ... mais par le biais de ton application c'est ... assez difficile !).
Si tu veux relancer ton application sur le coup, tu peux eventuellement lancer une application secondaire qui doit relancer ton programme dans 3 secondes par exemple, fermer ton programme, puis attendre les 3 secondes ?

Cordialement, Bacterius !
Commenter la réponse de Bacterius
HAFTARIFOUAD 298 Messages postés mercredi 5 septembre 2007Date d'inscription 6 janvier 2011 Dernière intervention - 14 janv. 2009 à 17:43
0
Merci
Bonjour,


Jetez un coup d'oeil sur ce lien, je pense qu'il contient une réponse à votre question
http://www.delphifr.com/forum/sujet-FERMER-RELANCER-APPLICATION-DELPHI_651707.aspx

si non, j'ai vu déjà une astuce permettant d'actualiser un programme même en éxécution, dés que je récupère le lien, je vais vous signaler.

Bonne chance à tous...
Commenter la réponse de HAFTARIFOUAD
hainlesgens 58 Messages postés dimanche 24 décembre 2000Date d'inscription 10 février 2009 Dernière intervention - 15 janv. 2009 à 09:56
0
Merci
je pense que oui ça peu être la meilleur solution et la moins complexe.
seul problème. comment puis-je mettre une variable sur une partie de code et la rappelée plus tard dans une autre Unit.pas ?

parce que j'ai unit1qui s'appel Uaccueil.pas, Unit2 c'est UValid.pas .

sur le Formcreate de ma Uaccueuil, j'ai :

procedure TGestion.FormCreate(Sender: TObject);
var i :integer;
begin
...  //beaucoup de fonction appeler comme celle qui suit

... //Encore d'autres fonctions
...// et encore.

Clients:=tklistobject.create(tclient);
    clients.loadFromDB(ADOConnection1,'select * from client');
    clients.showInComboBox(CbSelectClient);
end;

(pour ce qui est de showinComboBox, LoadfromDB et TklistObject. Ce sont des fonctions crées par mon prof d'Alsi pour faciliter les transfert et l'écriture des liens de connection vers une DB.)

et dans mon UValid,
il faut donc que je rappels ma fonction variable après l'envoi de la requete de suppression  la DB

procedure TFvalid.Button1Click(Sender: TObject);
var
listeClients:TKListObject;
i:integer;
begin
  listeClients:=TKListObject.create(TClient);
  for I := 0 to gestion.lvDelClient.Items.Count - 1 do
    begin
    if gestion.lvDelClient.Items.Item[i].Checked then //si les Checkbox sont cochés alors

      begin
        TCLient(gestion.lvDelClient.Items.Item[i].data).RecordStatus:= [rsDelete]; //supprimé de la DB
      end;
    gestion.client.saveToDB(gestion.ADOConnection1);// connection a la DB et sauvegarde
    end;
    gestion.lvDelClient.DeleteSelected;
    Gestion.CbSelectClient.Clear;
    Gestion.LvSelectClient.Clear;
end;

je devrais la réécrire ou ma variable? et surtout comment l'intégré a ma 1ère form?
Commenter la réponse de hainlesgens
Bacterius 3869 Messages postés samedi 22 décembre 2007Date d'inscription 3 juin 2016 Dernière intervention - 15 janv. 2009 à 16:52
0
Merci
Ca dépend de la taille du codeur !

Cordialement, Bacterius !
Commenter la réponse de Bacterius

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.