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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.08.2012, 15:06   #1
winhttp
Пользователь
 
Регистрация: 29.07.2012
Сообщений: 98
По умолчанию indy. ошибка после уничтожения обьекта

вот небольшой пример написал
Код:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
  IdHTTP, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    IdHTTP1: TIdHTTP;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
idhttp1.Create(nil);
memo1.Text:=idhttp1.Get('http://ya.ru');
idhttp1.Free;
end;

end.
при нажатии два раза кнопки возникает ошибка, с памятью типа "adress 0x000000.....". почему так? хотелось бы знать
winhttp вне форума Ответить с цитированием
Старый 22.08.2012, 15:11   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

потому что не правильно создаете объекты.
Код:
idhttp1:=TIDHTTP.Create(nil);
далее у вас итак компонент, зачем его вечно создавать/убивать?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 22.08.2012, 15:55   #3
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

У динамических компонентов правильнее указывать овнером главную фому, создавать в FomCreate и уничтожать в FormDestroy...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
после установки indy 10 ошибка s1s1s1 Общие вопросы Delphi 1 07.02.2012 10:11
[INDY] Получить домен ссылки, после редиректа. Человек_Борща Работа с сетью в Delphi 2 05.01.2012 01:58
Проблема после обновления INDY KREGI Работа с сетью в Delphi 6 20.06.2009 11:25
Проверка объекта после его уничтожения AHTuKiLLeR Общие вопросы Delphi 1 19.06.2009 10:43
Почему после передачи tStream методами Indy не работает tBitmap.loadFromStream ? Altera Работа с сетью в Delphi 2 21.03.2009 15:35