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.