clik clik i error =P

SP
  • Rejestracja:około 22 lata
  • Ostatnio:około 19 lat
0

Mam male pytanko....
Gdy clikne 2 razy na program to wszystko jest ok =]

Ale

Gdy clikne wiecej razy wystepuje jakis error =P
Pewnie chodzi o to ze program sie uruchamia (po 2 cliknieciach) , a potem uruchamia sie jeszcze raz i to powoduje error =P

Jak mozna temu zapobiec?????

SE
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 4 lata
  • Postów:1103
0

Tak, jest to spowodowane tym, że program uruchamia się drugi raz. Najprawdopodobniej masz w programie jakieś funkcje, które nie mogę działać jednocześnie w dwóch programach na raz.

Aby to rozwiązać proponuję skorzystać z komponentu JustOne. Ma on zdażenie, w którym wpisujesz co ma sie dziać po uruchomieniu drugiej kopii oraz booleanowską wlasciwość, w której możesz ustawić czy przy próbie uruchomienia drugiej kopii programu stara ma stać się widoczna.

Komponent powinien być na 4programmers.net, lub na torry.net


pozdrawiam, Sebek
chee
  • Rejestracja:około 22 lata
  • Ostatnio:prawie 22 lata
0

Albo wpisz taki kodzik ktory zablokuje ponowne uruchomienie programu:

var
hM : HDC;
begin
hM:=CreateFileMapping(THANDLE($FFFFFFFF),nil,
PAGE_READONLY,0,32,'ApplicationTestMap');

if GetLastError=ERROR_ALREADY_EXISTS then
begin
ShowMessage('Nie można uruchomić tego samego programu');
Application.Terminate;
CloseHandle(hM);
end;


"I przestane istnie
SP
  • Rejestracja:około 22 lata
  • Ostatnio:około 19 lat
0

a gdzie wpsiac kod??

w Form.Create ?
w Form.Show ??
w Form.DblClick ??

SE
  • Rejestracja:ponad 22 lata
  • Ostatnio:około 4 lata
  • Postów:1103
0

Tu masz komponent jo (just one) działa na tej samej zasadzie co kod podany przez kolegę, ale nie musisz nas meczyc co gdzie i jak bo komp. dziala praktycznie bez zadnego kodu z twojej strony :

http://www.iserwer.com/sebek/sandstorm/download.php?cmd=click&id=11

Wstawiasz i chyba tzeba ustawic active na true... ale nie jestem pewien. Popróbuj!!


pozdrawiam, Sebek

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.