 |
www.elektronik.si Forum o elektrotehniki in računalništvu
|
Poglej prejšnjo temo :: Poglej naslednjo temo |
Avtor |
Sporočilo |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14676 Aktiv.: 61.80 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Maj 06, 2007 3:46 pm Naslov sporočila: Kako preprečiti večkraten zagon iste DOS aplikacije? |
|
|
Zadeva je sledeča. V Clipperju sem spisal en programček. Zadevo uporablja več uporabnikov. Dostikrat se zgodi, da ga kdo namesto, da bi ga zaprl minizira. Drug uporabnik pa ga ponovno požene. Ker je od zadaj baza -programa pa nisem pisal kot mrežnega le ta "crkne". Trenutno sem rešil tako, da sem progam "skril" uporabnikom pa povedal, naj ga ne zapirajo ampak le minzirajo. Zanima me, če je onemogočenje podvojenega zagona istega programa možno nastaviti kje v Widnowsih (XP)? ,sicer se bom zadeve moral lotiti programsko - nastaviti eno datotko v katero bom označeval, če je program zagnan. Clipper, koliko se spomnim nima kake take funkcije?
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.51
|
Objavljeno: Ned Maj 06, 2007 4:00 pm Naslov sporočila: |
|
|
Naredi batch file, ki pozene aplikacijo samo ce lock file ne obstaja. Ob zagonu aplikacije ta batch file naredi lock file, ob izhiodu ga pa pobrise.
Koda: |
@echo off
if exist lock_file.txt goto exit
echo "Program tece" > lock_file.txt
ime_aplikacije.exe
delete lock_file.txt
:exit
|
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
mucek4 Član


Pridružen-a: Sob 18 Jun 2005 20:52 Prispevkov: 2952 Aktiv.: 12.43 Kraj: Tržič - Mesto med gorami
|
Objavljeno: Ned Maj 06, 2007 4:29 pm Naslov sporočila: |
|
|
Sem malo pregledal internet. Lažjega načina ni, obstajajo samo lepši, ki preverijo med procesi če program dejansko teče. Če bi kaj takega potreboval, ti lahko spišem na hitro.
|
|
Nazaj na vrh |
|
 |
VolkD Član


 
Pridružen-a: Pet 24 Sep 2004 21:58 Prispevkov: 14228 Aktiv.: 59.91 Kraj: Divača (Kačiče)
|
Objavljeno: Ned Maj 06, 2007 4:53 pm Naslov sporočila: |
|
|
Tak batch file lahko povzroči tudi kako težavo. Če se stvari ne končajo normalno (izpad elektrike) naslednjič noče delati.
_________________ Dokler bodo ljudje mislili, da živali ne čutijo, bodo živali čutile, da ljudje ne mislijo. |
|
Nazaj na vrh |
|
 |
mucek4 Član


Pridružen-a: Sob 18 Jun 2005 20:52 Prispevkov: 2952 Aktiv.: 12.43 Kraj: Tržič - Mesto med gorami
|
Objavljeno: Ned Maj 06, 2007 5:53 pm Naslov sporočila: |
|
|
Izvoli. Na hitro spisano:
Najprej poženi prvi program TopWindow, ki ti pove Class in Caption od aktivnega okna. To moraš zabeležiti.
Potem tvojo aplikacijo poganjaš z RunOnce, ki mu daš tri parametre:
prvi je Class, drugi je Caption in tretji je exe file, ki naj se izvede. Če ne bo delovalo povej...
Primer klica:
Koda: |
RunOnce SciCalc Calculator "C:\Windows\System32\Calc.exe" |
Opis: |
|
 Download |
Ime datoteke: |
RunOnce.zip |
Velikost datoteke: |
375.87 KB |
Downloadano: |
5 krat |
|
|
Nazaj na vrh |
|
 |
Silvo Moderator


 
Pridružen-a: Pon 24 Feb 2003 17:09 Prispevkov: 14676 Aktiv.: 61.80 Kraj: Koroška-okolica Dravograda
|
Objavljeno: Ned Maj 06, 2007 6:48 pm Naslov sporočila: |
|
|
Hvala vsem za nasvete. Sem malo prelistal NG za Clipper. Le ta ima prav simpatično funkcijo used() ki vrne .f. če je baza že v uporabi. (se vidi, da s Clipperjem nisem delal, že skoraj 15 let )
Dodatek teh par vrstic bo (je) rešilo težavo.
Koda: |
use podatki
if used()=.f.
alert('Program je ze zagnan')
quit
endif
|
_________________ lp
Silvo |
|
Nazaj na vrh |
|
 |
Sokrat Član


Pridružen-a: Čet 25 Avg 2005 11:00 Prispevkov: 5584 Aktiv.: 23.51
|
Objavljeno: Ned Maj 06, 2007 7:53 pm Naslov sporočila: |
|
|
VolkD je napisal/a: |
Tak batch file lahko povzroči tudi kako težavo. Če se stvari ne končajo normalno (izpad elektrike) naslednjič noče delati. |
To je res - no odporno na budale Ob zagonu racunalnika bi moral lock eksplicitno brisati. Drugi potencialen problem bi bil race condition, a le na zaresnih OSih, ne v Windowsih, ki so prakticno single-user.
_________________ Ka ti bo pa torba ce si kupu kolo ? |
|
Nazaj na vrh |
|
 |
|
|
Ne, ne moreš dodajati novih tem v tem forumu Ne, ne moreš odgovarjati na teme v tem forumu Ne, ne moreš urejati svojih prispevkov v tem forumu Ne, ne moreš brisati svojih prispevkov v tem forumu Ne ne moreš glasovati v anketi v tem forumu Ne, ne moreš pripeti datotek v tem forumu Ne, ne moreš povleči datotek v tem forumu
|
Uptime: 7 dni
Powered by phpBB © 2001, 2005 phpBB Group
|