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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 06.07.2011, 20:54   #1
ego30
 
Регистрация: 24.06.2011
Сообщений: 5
Радость ошибка доступа

Привет всем !
Код:
unit Unit1;
interface
uses
  Windows, ICQClient, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Button1: TButton;
    ICQClient1: TICQClient;
    procedure FormCreate(Sender: TObject);
    procedure Proverka(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  M:array[1..7] of TICQClient;

implementation

{$R *.dfm}
procedure TForm1.Proverka(Sender: TObject);
begin
form1.Caption:='ddd';
end;
procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
 for i:=1 to 7 do
 begin
 M[i].Create(self);
 M[i].OnLogin:=Proverka;
 end;
end;
end.
Ошибка :
Access violation at address 00464b9f in module 'project1.exe'. Read of address 00000000
Как исправить такого рода ошибку ?
ego30 вне форума Ответить с цитированием
Старый 06.07.2011, 20:58   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

опыта в программировании на дельфи немного?

просто ошибка классическая для новичка (сам пару раз в молодсти наступил)
нельзя вызывать метод конструктора Create у объекта, которые ещё не создан.
вместо M[i].Create(self);
надо
Код:
...
  M[i] := TICQClient.Create(self);
...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 06.07.2011, 21:05   #3
ego30
 
Регистрация: 24.06.2011
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
опыта в программировании на дельфи немного?

просто ошибка классическая для новичка (сам пару раз в молодсти наступил)
нельзя вызывать метод конструктора Create у объекта, которые ещё не создан.
вместо M[i].Create(self);
надо
Код:
...
  M[i] := TICQClient.Create(self);
...
Спасибо ! =) Да я в первый раз создаю объекты во время выполнения программы =) просто протокол интересный нашел =) хочу брут свой написать icq )
ego30 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка доступа к памяти Dmitry333 Компоненты Delphi 12 30.03.2011 15:27
Ошибка доступа к памяти AzoTik Общие вопросы Delphi 6 22.01.2010 10:17
Ошибка доступа к созданному файлу Siluet Общие вопросы Delphi 11 09.11.2009 19:49
Ошибка: Нарушение доступа к памяти. VladimirAleks Общие вопросы Delphi 6 03.11.2009 14:42
Ошибка создания доступа к папке Oleg-vp Работа с сетью в Delphi 4 14.01.2008 14:35