Модераторы: Snowy, MetalFan, bems, Poseidon
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа висит в процессах 
V
    Опции темы
Leklerk
Дата 4.6.2012, 11:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 31.7.2009
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Добрый день! Почему-то программа (пингующая компьютер и отсылающая сообщение) висит в процессах. Что не так?
Код

unit UnitPingAndMsg_Test;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, IdIcmpClient, IdBaseComponent, IdComponent,
  IdRawBase, IdRawClient, ExtCtrls;
 
type
  TForm1 = class(TForm)
    IdIcmpClient1: TIdIcmpClient;
    procedure FormCreate(Sender: TObject);
    procedure IdIcmpClient1Reply(ASender: TComponent;
      const AReplyStatus: TReplyStatus);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  // массив имен пользователей
  users: array[1..1] of AnsiString;
  // массив IP-адресов
  ip: array[1..1] of AnsiString;    
 
  i: Integer;
  iWinExec: Integer;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  users[1] := 'nikolay';
 
  ip[1] := '10.10.1.7';
 
  for i := 1 to 1 do begin
    IdIcmpClient1.Host:=ip[i];
    IdIcmpClient1.ReceiveTimeout := 1001;
    IdIcmpClient1.Ping;
  end;
end;
 
procedure TForm1.IdIcmpClient1Reply(ASender: TComponent;
  const AReplyStatus: TReplyStatus);
var
  Str: AnsiString;
begin
  try
    if AReplyStatus.MsRoundTripTime<1000 then
      begin
        Str := 'cmd.exe /c msg ' + users[i]
          + ' "Тестовое сообщение!"';
        try
          iWinExec:= WinExec(PAnsiChar(Str), SW_HIDE);
          if iWinExec>31 then
            ShowMessage(IntToStr(iWinExec));
        except
        end;
      end
    else
      ShowMessage('Ping не прошел!');  
  finally
    Form1.Close;
  end;
end;
 
end.

PM MAIL ICQ   Вверх
XperT
Дата 4.6.2012, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 269
Регистрация: 19.8.2006

Репутация: нет
Всего: 4



И зачем вам форма для такой программы?
PM MAIL   Вверх
Leklerk
Дата 4.6.2012, 12:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 200
Регистрация: 31.7.2009
Где: Санкт-Петербург

Репутация: нет
Всего: нет



Цитата(XperT @  4.6.2012,  13:59 Найти цитируемый пост)
И зачем вам форма для такой программы? 

Правильно, незачем.  smile  Просто так быстрее.
Мне подсказали, почему висит - потому что Close вызывается из OnCreate.
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Для новичков"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.3665 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.