Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.03.2011, 21:05   #1
WildWest
Новичок
Джуниор
 
Регистрация: 12.11.2009
Сообщений: 2
По умолчанию Indy TCPClient, TCPServer получение списка процессов с удаленного компьютера

Подключаюсь через IdTCPClient1.Connect;

по Таймеру начинаю опрашивать сервер
Код:
Temp2:=TStringList.Create();
  with (Form1.IdTCPClient1) do
  begin
    WriteLn('process');
    ReadStrings(Temp2); //с сервера
    with Form4.ListView2.Items.Add do
      begin
        Caption := Temp2.Strings[0];
        SubItems.Add(Temp2.Strings[1]);
        SubItems.Add(Temp2.Strings[2]);
        SubItems.Add(Temp2.Strings[3]);
     end;
    end;
На сервере в TCPServerExecute
Код:
if (strText = 'process') then
  List:= TStringList.Create();
  ListProcesses(AThread.Connection);
  List.Free;
в процедуре ListProcesses с помощью TlHelp32 (Process32First, Process32Next) тянется список процессов, возвращаем данные строкой:
Connection.WriteStrings(List,true);

но так как событие в таймере то в ListView данные падают бесконечно..то есть прочитал по порядку 30 процессов, и потом дальше добавляет эти же 30 процессов, собственно вопрос наверное тривиален..Как после добавления всех процессов в ListView корректно сие прервать?
WildWest вне форума Ответить с цитированием
Старый 02.03.2011, 08:20   #2
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

> Как ... сие прервать?

Делать Form4.ListView2.Items.Clear() сразу после ReadStrings(Temp2) ?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 02.03.2011, 08:37   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
veniside
Я либо чего-то не понял, либо автор получает не список процессов а всего лишь один процесс...
Цитата:
прочитал по порядку 30 процессов
Поодиночке? Не сразу все?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 02.03.2011, 08:48   #4
WildWest
Новичок
Джуниор
 
Регистрация: 12.11.2009
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
Я либо чего-то не понял, либо автор получает не список процессов а всего лишь один процесс...

Поодиночке? Не сразу все?
Все верно, поодиночке, ибо кроме названия нужно получить PID процесса, приоритет, и количество потоков.

Проблему решил просто остановкой таймера после выполнения операций. И потом дисконнект.
WildWest вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Работа с TCPClient и TCPServer BoT_T Работа с сетью в Delphi 4 20.09.2010 21:34
[Delphi] TCPserver, TCPclient MASSIOMO Работа с сетью в Delphi 14 29.07.2010 17:53
TCPServer, TCPClient seobot Общие вопросы Delphi 2 03.05.2010 23:56
TcpClient и TcpServer DOLBY Работа с сетью в Delphi 5 17.12.2007 10:43
TCPServer и TCPClient Antoha Работа с сетью в Delphi 19 06.10.2007 12:01