Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
950 connectés 

  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  ou est lerreur ?, c impossible davoir des infos dans une appli console

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

ou est lerreur ?, c impossible davoir des infos dans une appli console

n°533573
piloud
Posté le 07-10-2003 à 20:48:37  profilanswer
 


program updater;
 
{$APPTYPE CONSOLE}
 
uses
  SysUtils,IdHTTP ,classes ,forms ;
 
var
h:Tidhttp;
fdownload:Tfilestream;
begin
writeln(' mise a jour *******');
writeln('Commencer le telechargement de la mise a jour ?');
writeln('Appuyer sur Enter pour commencer !');
readln;
writeln('');
writeln('-Debut du download ...');
fdownload:=Tfilestream.Create(extractfilepath(application.exename)+'prog.tmp',fmcreate);
h.Get('*************.exe',fdownload);
writeln('-Download Termine');
 
 
writeln('');
writeln('Pret pour l''instalation de la mise jour?');
writeln('Appuyer sur Enter pour commencer !');
readln;
 
 
readln;
  { TODO -oUser -cConsole Main : placez le code ici }
 
 
ca plante au moment du h.get
le prog ce ferme
mci davance
 
 
end.

mood
Publicité
Posté le 07-10-2003 à 20:48:37  profilanswer
 

n°533599
antp
Super Administrateur
Champion des excuses bidons
Posté le 07-10-2003 à 21:38:37  profilanswer
 

ça serait pas mal si tu créais ton Tidhttp, non ? (en plus tu m'as demandé par ICQ ce que tu devais mettre dans le Create :sarcastic:)
Puis tu peux tj mettre tout ton code dans un try/except, et mettre dans le except/end un :

Code :
  1. on e: Exception do
  2. begin
  3.   writeln(e.Message);
  4.   readln;
  5. end;

Au moins ça affichera l'erreur


Message édité par antp le 07-10-2003 à 21:40:14

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°534414
piloud
Posté le 08-10-2003 à 15:08:25  profilanswer
 

lol je lavais mis puis je lai perdu car delphi a planté alors que javais pas save mes sources  
et apres jai oublie de le remettre  
mci

n°534425
piloud
Posté le 08-10-2003 à 15:15:16  profilanswer
 

jai remplace les lignes par ca :
 
try
begin
fdownload:=Tfilestream.Create(extractfilepath(application.exename)+'prog.tmp',fmcreate);
h:=h.create(nil);
h.Get('*********.exe',fdownload);
end;
except
on e: Exception do
  begin
    writeln(e.Message);
    readln;
  end;
end;
 
mais jai quand meme une exception .( mais une de celle ou on pige rien : erreur a ladresse 000021654534564...... )
 
help


Message édité par piloud le 08-10-2003 à 15:15:52
n°534464
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-10-2003 à 15:49:47  profilanswer
 

TIdHTTP.Create ça serait mieux que h.Create, non ?

n°534596
piloud
Posté le 08-10-2003 à 17:50:03  profilanswer
 

je v me faire assassiner moi si ca conitinue LOL  
avec mes questions con ...  
faut dire que le compilateur i pourrai etre plus explicite

n°534605
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-10-2003 à 17:58:20  profilanswer
 

C'est pas le boulot du compilateur là, c'est un crash à l'exécution parce que tu joues avec des pointeurs non initialisés... Si tu veux pas ce genre de choses faut choisir des langages qui n'utilisent pas de pointeurs :D

n°534651
piloud
Posté le 08-10-2003 à 18:40:28  profilanswer
 

et non , je changerai pas de langage pour ca , je laime bien celui la  
 
dailleur jai encore 2 kestions :
1)
ShellExecute( 0, Nil, PChar(dir+'**.exe'),Nil, Nil, SW_NORMAL );
 
la il me dit que SW_NORMAL : identifiant non declaré
(jai bien mis le shellapi dans les uses ;
 
2) comment on utilise les procedure dun Tobject dans un appli console
 
la je veux utilise le idhttpstatus  
 
 
mci d'avance  
 

n°534704
piloud
Posté le 08-10-2003 à 19:41:10  profilanswer
 

pour la 1 jai resolu :) fallait mettre  windows dans les uses  
 
parcontre le 2 tj pas !

n°534706
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-10-2003 à 19:45:31  profilanswer
 

utiliser comment ? il est de quel type ce truc ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le 08-10-2003 à 19:45:31  profilanswer
 

n°534715
piloud
Posté le 08-10-2003 à 19:50:46  profilanswer
 

bha c comme le onclick dun bouton sauf que la c le status d'un idhttp:
 
je voudrai inclure ca :
 
procedure TForm.IdHTTP1Status(ASender: TObject; const AStatus: TIdStatus;
const AStatusText: String);
begin
writeln(astatustext);  
 
end;
 
 

n°534718
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-10-2003 à 19:52:13  profilanswer
 

bah tu déclare un type d'objet bidon qui a cette méthode, tu crées cet objet bidon et tu raccordes sa méthodes à l'event du TIdHTTP.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°534722
piloud
Posté le 08-10-2003 à 19:56:37  profilanswer
 

ca jai compris mais c comment le faire ke jarrive pas  , mon create je le fait dans la source ci dessus , mais ou je met mon procedure idhttp1.status(...); (entre le begin et end de lappli console ?)
 
mon create de lobjet y devrait pas etre generale (je veux dire pas uniquement pour le begin end; de lappli console?) comme il est actuellement ?
 
je pige pas comment faire :)

n°534738
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-10-2003 à 20:29:58  profilanswer
 

Code :
  1. type
  2.   TEventManager = class(TObject)
  3.   public
  4.     procedure HTTPStatus(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String);
  5.   end;
  6. var
  7.   EventManager: TEventManager;


 

Code :
  1. procedure TEventManager.HTTPStatus(ASender: TObject; const AStatus: TIdStatus; const AStatusText: String);
  2. begin
  3.   Writeln(AStatusText);
  4. end;


 

Code :
  1. begin // le begin de ton code "normal"
  2.   EventManager := TEventManager.Create;
  3.   ... // tout le code qui va jusqu'à la création du IdHTTP, y compris cette création
  4.   h.OnStatus := EventManager.HTTPStatus;
  5.   ... // tout le déroulement de ton programme
  6.   EventManager.Free;
  7. end.


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°534740
piloud
Posté le 08-10-2003 à 20:30:37  profilanswer
 

puis encore une autre ...
 
 
jai dans mes uses : forms
 
juste pour utiliser le extractfilepath(application.exename)!
le blem c kil fait a lui tout seul 200k le forms
 
alors ya til moyen davoir la dir du programme par une autre methode ?

n°534744
antp
Super Administrateur
Champion des excuses bidons
Posté le 08-10-2003 à 20:36:23  profilanswer
 

ParamStr(0)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°534760
piloud
Posté le 08-10-2003 à 20:51:06  profilanswer
 

keske je ferai sans toi antp :)  
Merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Delphi/Pascal

  ou est lerreur ?, c impossible davoir des infos dans une appli console

 

Sujets relatifs
Minimizer une appli delphi 6 en icone a cote de l'heure[appli.net] organisation de class - ado - accès base de données
est-il possible de développer une appli compatible as400/Windows ?appli python invisible dans le centre de la barre de taches windows?
[debutant]Quel est le meilleur moyen de transferer des infos?Menu JS à intégrer pour qui soit tjs bien placé = IMPOSSIBLE ?!
[ASP-ORACLE], impossible de me connecterRécupérer les infos ou sauvegarder une main frame
Impossible de compiler un "Hello World" sans mes verres progressifs[Borland c++ builder] Impossible à installer :( [RTC]
Plus de sujets relatifs à : ou est lerreur ?, c impossible davoir des infos dans une appli console


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR