[ edin_jak @ 04.02.2005. 08:10 ] @
| Imam sledeci problem: pokušavam da izvršim DOS naredbu koja je promenljiva :
arjcommand := '/c arj a ' + destpath + ' ' + sourcefile;
ShellExecute(Handle, 'open', PChar('command.com'), PChar(arjcommand), nil, SW_HIDE);
i nikako da prođe, radi jedino ako je deo "PChar(arjcommand)" oblika PChar('Neka komanda')
Ubih se ne mogu da rešim |
[ IgLo @ 04.02.2005. 10:58 ] @
Interesantno, kod mene radi savrseno, sa jednom izmenom.... umesto ARJ, stavio sam punu putanju do ARJ.EXE fajla... mozda je tu tvoj problem? Pazi da kada koristis ARJ da koristis iskljucivo kratka imena foldera,... mozda si kao parametar dao ime foldera sa razmakom, pa ARJ to konta kao dva razlicita parametra.
Usput, zasto koristis command.com da bi pozvao ARJ,... radi savrseno i kada pokreces ARJ direktno?
Ako nista ne uspe sa ove dve ideje od malo pre, posalji ceo kod gde definises ove promenljive arjcommand, destpath i source file i napisi sta im dodeljujes, pa da probamo da resimo.
[ Delphin @ 04.02.2005. 14:39 ] @
Covjek je potpuno upravu...pozivaj ARJ.EXE a ima fajla koji zelis kompresovati proslijedi kao parametar...
[ edin_jak @ 07.02.2005. 07:27 ] @
Nije problem arj bio je u path-u, nego u putanji za test sam koristio putanju koja u sebi sadži manje od osam karaktera, kao statički string, a kao string koji dinamički menjam bila je putanja koja sadrži više od osam i ima space, pa sam odradio funkciju koja konvertuje windows-ov path u format DOS-a i proradilo je.
[ Peke @ 07.02.2005. 20:06 ] @
Evo ti lezernije resenje:
Code:
Procedure ARJ();
Var
Test : Integer;
begin
Test := ShellExecute(Application.Handle,'open',ExtractFilename(ArjEXEFiilename),'a '+ExtractShortPathName(destpath)+ExtractFilename(Archivefilename)+' '+ExtractShortPathName(destpath)+'*.*', ExtractShortPathName(ArjEXEFiilename),SW_Hide);
If Test <= 32 Then // Uraditi ako se desila greska
Begin
// Error Handler
End;
End;
Nadam se da je ovo bolje a i lezernije je stim da imas usput i kontrolu nad greskama.
[ edin_jak @ 08.02.2005. 11:39 ] @
Da dosta je bolje.
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.