Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Sprijecavanje pokretanja aplikacije dvaput ?

[es] :: Pascal / Delphi / Kylix :: Sprijecavanje pokretanja aplikacije dvaput ?

[ Pregleda: 4298 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Raol Duke
Sviltica
Banja Luka

Član broj: 72999
Poruke: 6
81.93.95.*



Profil

icon Sprijecavanje pokretanja aplikacije dvaput ?08.11.2005. u 20:59 - pre 224 meseci

Dali postoji neka opcija u Delphi-ju da spirijeci pokretanje dve instance jedne aplikacije, odnosno da pri pokretanju drugi put prikaze prvu instancu.
Znate vec na sta misilm.

 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Član broj: 32202
Poruke: 4391
*.yu1.net.

Sajt: https://avramovic.info


+46 Profil

icon Re: Sprijecavanje pokretanja aplikacije dvaput ?08.11.2005. u 21:48 - pre 224 meseci
mozes pri pokretanju aplikacije sa FindWindow da trazis naslov tvog prozora i ako dobijes neki handle (razlicit od 0) onda da izbacis poruku/ugasis svoju aplikaciju, mada je meni lakse da bacim ovo na formu...
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

Trodmi

Član broj: 58036
Poruke: 193
212.200.67.*



Profil

icon Re: Sprijecavanje pokretanja aplikacije dvaput ?08.11.2005. u 21:57 - pre 224 meseci
Evo probaj sa ovim unitom, imas i full source code a koristis je sa:


program Project1;

uses
Forms,
Unit1 in 'Unit1.pas' {Form1},
CheckPrevious in 'CheckPrevious.pas';

{$R *.res}

begin
//samo jedna instanca programa je dozvoljena
if not CheckPrevious.RestoreIfRunning(Application.Handle, 1) then
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end;
end.
Prikačeni fajlovi
 
Odgovor na temu

Brkic

Član broj: 55360
Poruke: 1222
217.24.27.*



Profil

icon Re: Sprijecavanje pokretanja aplikacije dvaput ?08.11.2005. u 23:01 - pre 224 meseci

Mutexima, ubaci ovo u Form.Create glavne forme

var
fMutex : THandle;

begin
try
{ create our mutex }
fMutex := CreateMutex(nil,
FALSE,
@Application.Title[1]);

{ test mutex to see if we need to terminate or not }
if ( GetLastError() = ERROR_ALREADY_EXISTS ) or
( WaitForSingleObject(fMutex,100) = WAIT_TIMEOUT ) or
( fMutex = 0 ) then
begin
{ terminate our application }
Application.Terminate;
end;

finally
{ free our created mutex }
ReleaseMutex(fMutex);
end;
 
Odgovor na temu

Taranto

Član broj: 67452
Poruke: 105
*.rcub.bg.ac.yu.



Profil

icon Re: Sprijecavanje pokretanja aplikacije dvaput ?17.01.2006. u 12:09 - pre 222 meseci
Resenje je prosto.
Iskoristi projektni obrazac SINGLETON. (mala mudrolija sa konstruktorom)

Pozdrav...
S.
 
Odgovor na temu

bondja

Član broj: 10286
Poruke: 167
*.adsl.sezampro.yu.



+3 Profil

icon Re: Sprijecavanje pokretanja aplikacije dvaput ?17.01.2006. u 14:33 - pre 222 meseci
@Taranto
mudrolija sa konstruktorom -?!? NIJE U PITANJU INSTANCA KLASE U PROGRAMU, VEC MAIN FORMA! ... I GDE JE PRIMER KODA AKO JE U PITANJU "mala mudrolija" ?!?

 
Odgovor na temu

nikola.j
Nikola Janković

Član broj: 15712
Poruke: 85
*.com
Via: [es] mailing liste



Profil

icon Re: Sprijecavanje pokretanja aplikacije dvaput ?17.01.2006. u 16:01 - pre 222 meseci
>

Nije li MainForma instanca klase TMainForma?

Ko nece da se zeza sa singleton-ima, neka potrazi unit oneinstance.pas od Igora
Savkica.
 
Odgovor na temu

Passwd

Član broj: 54624
Poruke: 640
*.adsl.net.t-com.hr.



Profil

icon Re: Sprijecavanje pokretanja aplikacije dvaput ?17.01.2006. u 19:32 - pre 222 meseci
Lol, sta komplicirate stvar kad je ovo najzesce rjesenje..

Citat:
JaHvram: mozes pri pokretanju aplikacije sa FindWindow da trazis naslov tvog prozora i ako dobijes neki handle (razlicit od 0) onda da izbacis poruku/ugasis svoju aplikaciju


U OnCreate forme stavis samo nesto ovako..
Code:

hnd:THandle;

begin
//...
hnd:=FindWindow(nil,'NazivMogPrograma');
if hnd<>0 then Application.Terminate;

....

 
Odgovor na temu

Dejan Mitrovic
Novi Sad

Član broj: 46273
Poruke: 50
*.ftn.ns.ac.yu.

ICQ: 328765021


Profil

icon Re: Sprijecavanje pokretanja aplikacije dvaput ?02.02.2006. u 18:12 - pre 221 meseci
Citat:
Passwd: Lol, sta komplicirate stvar kad je ovo najzesce rjesenje..



U OnCreate forme stavis samo nesto ovako..
Code:

hnd:THandle;

begin
//...
hnd:=FindWindow(nil,'NazivMogPrograma');
if hnd<>0 then Application.Terminate;

....



+ code editor za glavnu formu (onaj u kom se nalazi TMainForma) mora biti zatvoren (sto ce zatvoriti i samu formu) u toku pokretanja programa inace ce hnd <> 0 i ako je prva instanca
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Sprijecavanje pokretanja aplikacije dvaput ?

[ Pregleda: 4298 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.