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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.08.2013, 00:44   #1
CeHTuJI
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 51
По умолчанию constructor вызывается много раз

Код:
State = class
  State: integer;
  MaxState: integer;

  constructor Create();
  function Next():integer;
  function ShowCurrent():integer;
  function Get(n:integer):integer;
end;
Создаю класс, создаю конструктор, в OnCreate формы пишу создание объекта класса. Условие в конструкторе вызывается постоянно, это мешает мне присвоить значение свойствам класса
CeHTuJI вне форума Ответить с цитированием
Старый 26.08.2013, 01:02   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

После конструктора должен стоять overload флаг, а в теле конструктора должен быть вызов inherited метода предка.

Читай про реализацию ООП в delphi, глава "Наследование".
Показывай весь код. класса и как ты его используешь.
Человек_Борща вне форума Ответить с цитированием
Старый 26.08.2013, 01:40   #3
CeHTuJI
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 51
По умолчанию

Пустой проект, только тренеруюсь, наследников нет, 1класс всего.
CeHTuJI вне форума Ответить с цитированием
Старый 26.08.2013, 01:47   #4
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Код:
State = class
  State: integer;
Это как следует понимать?
northener вне форума Ответить с цитированием
Старый 26.08.2013, 01:50   #5
CeHTuJI
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 51
По умолчанию

constructor State.Create;
begin
showmessage('test');
end;

procedure TForm1.FormCreate(Sender: TObject);
var StateManeger: State;
begin
StateManeger.Create;
end;

тест выскакивает постоянно
CeHTuJI вне форума Ответить с цитированием
Старый 26.08.2013, 01:57   #6
CeHTuJI
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 51
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
Код:
State = class
  State: integer;
Это как следует понимать?
Там у класса другое имя(не схожее с свойством),с памяти писал просто, да и оно особо не конфликтует
CeHTuJI вне форума Ответить с цитированием
Старый 26.08.2013, 02:03   #7
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Код:
StateManeger.Create;
Вы что-нибудь читали прежде чем начать писать?
Так экземпляры классов не создаются. Жаль что у вас StateManeger локальная переменная.
northener вне форума Ответить с цитированием
Старый 26.08.2013, 02:07   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Цитата:
Пустой проект, только тренеруюсь, наследников нет, 1класс всего.
Предок всегда TObject, при не явном объявлении класса, запомни это.

Последний раз редактировалось Человек_Борща; 26.08.2013 в 10:28.
Человек_Борща вне форума Ответить с цитированием
Старый 26.08.2013, 02:23   #9
CeHTuJI
Пользователь
 
Регистрация: 26.08.2013
Сообщений: 51
По умолчанию

Прописал overload и указал наследие, но от постоянного вызова конструктора не спасло
CeHTuJI вне форума Ответить с цитированием
Старый 26.08.2013, 02:27   #10
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,872
По умолчанию

Во-первых приведите весь код полностью.
Во-вторых создавайте объект правильно:
Код:
StateManeger:=State.Create;

Последний раз редактировалось northener; 26.08.2013 в 02:35.
northener вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не работает внешний стиль css, хотя код много раз проверялся на правильность Edelveiss HTML и CSS 2 02.06.2012 13:07
понимаю вопрос много раз тут обсуждался artush1984 Свободное общение 13 07.07.2011 18:10
Как запустить одно приложение много раз ? Jugger Операционные системы общие вопросы 2 08.03.2011 22:07
Открываеца форма много раз! KingSize Общие вопросы Delphi 8 18.05.2009 13:12
[Делфи] Как сделать чтобы символ много раз повторялся (без массивов) zotox Помощь студентам 4 01.05.2009 22:10