ou est lerreur ?, c impossible davoir des infos dans une appli console - Delphi/Pascal - Programmation
Marsh Posté le 07-10-2003 à 21:38:37
ç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 )
Puis tu peux tj mettre tout ton code dans un try/except, et mettre dans le except/end un :
Code :
|
Au moins ça affichera l'erreur
Marsh Posté le 08-10-2003 à 15:08:25
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
Marsh Posté le 08-10-2003 à 15:15:16
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
Marsh Posté le 08-10-2003 à 17:50:03
je v me faire assassiner moi si ca conitinue LOL
avec mes questions con ...
faut dire que le compilateur i pourrai etre plus explicite
Marsh Posté le 08-10-2003 à 17:58:20
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
Marsh Posté le 08-10-2003 à 18:40:28
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
Marsh Posté le 08-10-2003 à 19:41:10
pour la 1 jai resolu fallait mettre windows dans les uses
parcontre le 2 tj pas !
Marsh Posté le 08-10-2003 à 19:45:31
utiliser comment ? il est de quel type ce truc ?
Marsh Posté le 08-10-2003 à 19:50:46
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;
Marsh Posté le 08-10-2003 à 19:52:13
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.
Marsh Posté le 08-10-2003 à 19:56:37
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
Marsh Posté le 08-10-2003 à 20:29:58
Code :
|
Code :
|
Code :
|
Marsh Posté le 08-10-2003 à 20:30:37
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 ?
Marsh Posté le 08-10-2003 à 20:36:23
Reply
Marsh Posté le 07-10-2003 à 20:48:37
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.