Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 5 odgovora
  • 3.763 pregleda

Najnovija ↓

ShellExecute problem 04.02.2005. u 09:10 · pre 264 meseca #1
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
Re: ShellExecute problem 04.02.2005. u 11:58 · pre 264 meseca #2
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.
Re: ShellExecute problem 04.02.2005. u 15:39 · pre 264 meseca #3
Covjek je potpuno upravu...pozivaj ARJ.EXE a ima fajla koji zelis kompresovati proslijedi kao parametar...
Re: ShellExecute problem 07.02.2005. u 08:27 · pre 264 meseca #4
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.
Re: ShellExecute problem 07.02.2005. u 21:06 · pre 264 meseca #5
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.
Potpis
Pozdrav, Peke
Speed IO ADSL+ Rezultat
SpeedTest.NET ADSL+ Rezultat
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme