Tipy a triky v Delphi, díl 199. - mazání aplikace po jejím ukončení

Diskuze čtenářů k článku

gully, gully  |  07. 09. 2005 00:15  | 

http://tipy-a-triky-v-delphi.wz.cz

Souhlasím  |  Nesouhlasím  |  Odpovědět
AZOR.  |  07. 09. 2005 01:03  | 

Možná se mýlím, ale někde už jsem tohle viděl , minimálně ten tip s tim bat souborem.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Martin  |  07. 09. 2005 07:57  | 

Ano, algoritmu se říká "Kevorkiánský" (dle doktora Kevorkiana, více na Google) a byl kdysi dávno publikován
už Dr. Dobbs` Journalu (číslo nevím). Autor článku ale netvrdí, že je i autorem této myšlenky, pouze ukazuje
jak ji použít v Delphi programu. Proč ne?

Souhlasím  |  Nesouhlasím  |  Odpovědět
AZOR.  |  07. 09. 2005 11:08  | 

"Proč ne?" // vždyt nic neřikam, tenhle seriál se super (až na nějaké podezřelé díly), jen jsem se chtěl ujistit, že to nevidím poprvé

Souhlasím  |  Nesouhlasím  |  Odpovědět
David  |  07. 09. 2005 11:08  | 

Podobnym zpusobem (pomoci .bat souboru) jsem pred tremi roky implementoval aktualizaci programu. Jednalo se o firemni aplikaci. Na serveru byl adresar, v nem .ini, v nem info o aktualni verzi. Takze program si pri startu zkontroloval verzi a pokud byla pristupna novejsi, vytvoril .bat, spustil ho, protoze v nem bylo upozorneni na aktualizaci, ktere uzivatel musel odentrovat, tak mel (program) dostatek casu na sebeukonceni, batak potom zkopiroval .exe a spustil ho. Cely proces jsem "vymyslel" sam a o nejakem dr. Kevorkianovi jsem se dovedel az ted .

Souhlasím  |  Nesouhlasím  |  Odpovědět
net-ray, net-ray  |  07. 09. 2005 13:02  | 

Mozna by nebylo od veci misto
  Result := string(pc);
psat
  Result := '';
  SetString(Result, pc, Length(pc));

Souhlasím  |  Nesouhlasím  |  Odpovědět
Milan  |  07. 09. 2005 14:03  | 

a to je asi dobre na to aby bola ohranicena velkost stringu v pamati ak tomu dobre rozumiem?

Souhlasím  |  Nesouhlasím  |  Odpovědět
TyTyK  |  07. 09. 2005 18:12  | 

Ne, to neni dobry vubec na nic. V obou variantach Delphi nejdrive zjistuji delku retezce pred tim, nez zalozi novy, ktery pak funkce vraci jako svoji navratovou hodnotu. SetString by melo opodstatneni pouze v pripade, ze nechci retezec vracet cely, ale pouze prvnich N znaku.

Souhlasím  |  Nesouhlasím  |  Odpovědět
net-ray, net-ray  |  08. 09. 2005 09:39  | 

Netvrdil bych, ze to neni dobre vubec k nicemu:
  Result := '';
  try
    SetString(Result, pc, Length(pc));
 
except
    on EOutOfMemory do ...
  end;

Souhlasím  |  Nesouhlasím  |  Odpovědět
TyTyK  |  09. 09. 2005 12:08  | 

Nechápu... Přece mezi try a except mohu dát i předchozí verzi přiřazení. Mimochodem - zachytávat EOutOfMemory nemá (až na speciální případy) žádný větší smysl.

Souhlasím  |  Nesouhlasím  |  Odpovědět
ajo  |  07. 09. 2005 19:14  | 

Ahojte,

to vazne autor pouziva TForm a HALT dohromady? A co systemove zdroje? Nebude Windows pindat za par restartov aplikacie? A vobec. Je to regulerne?

Ajo

Souhlasím  |  Nesouhlasím  |  Odpovědět
net-ray, net-ray  |  08. 09. 2005 09:55  | 

Sice jsem to netestoval, ale taky bych nejdrive zkusil misto nasilneho Halt; pouzit normalniho ukonceni Application.Terminate;

Souhlasím  |  Nesouhlasím  |  Odpovědět
Daddo  |  08. 09. 2005 15:08  | 

Dávkový subor zmaze sam seba iba v pripade, ze je nalogovany iba konkretny pouzivatel (V tomto pripade asi Admin -> "del C:\DOCUME~1\ADMN~1\LOCALS~1\Temp\uis136F.bat"). To sa mi nezda koser riesenie ked je rec o zahladzovani stop.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Pavel  |  16. 09. 2005 09:08  | 

No možná sis všimnul řádku "batchname := GetTmpFileName('.bat');" kterým se do proměnné datchname přiřadí aktuální tmp tedy i podle přihlášeného uživatele a pak se toto vkládá do dávky. umístění je tedy podle aktuálně přihlášeného uživatele, a tam se taky dávka uloží a smaže. :)

Souhlasím  |  Nesouhlasím  |  Odpovědět
Jokon  |  08. 04. 2007 10:49  | 

Nemelo by byt pred tou adresou ParamStr(0) jeste prevod na dosovskou 8.3 adresu? Rekneme ExtractShortPathName(ParamStr(0)). Ja jen ze bez toho to nefunguje pokud je ted exáč pod slozkou s nazvem delsim nez 8 znaků.

Souhlasím  |  Nesouhlasím  |  Odpovědět
Zasílat názory e-mailem: Zasílat názory Můj názor
Aktuální číslo časopisu Computer

Megatest televizí do 25 000 Kč

Nejlepší herní klávesnice

Srovnání správců hesel

Jak upravit fotky pro tisk