Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Где найити о inherited [D7, XP]


Страницы:   1 2 3

Keks ©   (2006-04-22 23:29:00) 

Добрый вечер. Поскажите пожалуйста где можно почитать о использовании ключевого слова inherited


Джо   (2006-04-23 14:51:00) [1]

> [41] begin...end ©   (23.04.06 09:16)

Точно.


Anatoly Podgoretsky   (2006-04-23 11:17:00) [2]

Во написал то.
inherited значит От предка, просто опускает имя и возможно параметры


begin...end   (2006-04-23 09:16:00) [3]

> Джо ©   (22.04.06 23:46) [5]

Не обязательно виртуальный. Например, конструктор TThread.Create виртуальным методом как раз не является.


Keks   (2006-04-23 01:46:00) [4]

Дааааааа,  вот что значит писать програмки поздней ночью :)
Блин аш самому обидно что не доглядел. Спасибо за помощь.


Leonid Troyanovsky   (2006-04-23 01:27:00) [5]


> Keks ©   (23.04.06 01:17) [36]

> SetLength(FNotifyThread, Prn.Count-1);


А зачем -1?

--
Regards, LVT.


Johnmen   (2006-04-23 01:27:00) [6]


> Keks ©   (23.04.06 01:17) [36]
>
> Я нашел ошибку но вот почему именно это приводило к проблеме
> что-то я так и не понял.
> Оказывается дело в том что переменную FNotifyThread я описывал
> как динамический массив( FNotifyThread: array of TNotifyThread;
> ), хотя потом и выделял под нее память функцией SetLength(FNotifyThread,
> Prn.Count-1);


Думается, что размер д.б. Prn.Count.


Keks   (2006-04-23 01:27:00) [7]

Може есть другая функция для выделения памяти для динамического массива


Keks   (2006-04-23 01:17:00) [8]

Я нашел ошибку но вот почему именно это приводило к проблеме что-то я так и не понял.
Оказывается дело в том что переменную FNotifyThread я описывал как динамический массив( FNotifyThread: array of TNotifyThread;), хотя потом и выделял под нее память функцией SetLength(FNotifyThread,Prn.Count-1);

А когда сделал статический массив ( FNotifyThread: array[0..10] of TNotifyThread;) то все нормально заработало


Johnmen   (2006-04-23 01:11:00) [9]

>Keks ©  

Как выделяется память под динамический массив FNotifyThread ?


Kolan   (2006-04-23 01:08:00) [10]

Project - Options - Compiler USE Debug DCUs


Keks   (2006-04-23 01:06:00) [11]

Подскажите где в среде D7 есть опция что бы при отладке он залазил не только внутрь моих процедур но и внутрь системных процедур.


Keks   (2006-04-23 01:02:00) [12]

>Leonid Troyanovsky ©   (23.04.06 00:57) [28]
 >Подряд несколько таких вызовов:
 >FNotifyThread[i] := TNotifyThread.Create(FPrinter1, PRINTER_CHANGE_JOB)?
 >А FPrinter1 где назначается?

Да подряд идут именно эти вызовы, а отличаются они как раз переменной FPrinter1 которая предварительно так же в цикле принимает значение из процедуры : WinSpool.OpenPrinter(PChar(Prn[i]), FPrinter1, nil)


Leonid Troyanovsky   (2006-04-23 00:59:00) [13]


> Keks ©   (23.04.06 00:57) [29]

> Этому как раз и была посвящена тема я думал проблема в этом


Этот деструктор можно было даже не описывать, бо он ничего
сверх родительского не делает.

--
Regards, LVT.


Kolan   (2006-04-23 00:58:00) [14]

Нет
inherited; - вызовет Деструктор TThread. Проблема не сдесь.
Ты что - то походу делаешь. Память где-то портишь. Возми memProof и посмотри


Leonid Troyanovsky   (2006-04-23 00:57:00) [15]


> Keks ©   (23.04.06 00:46) [23]

> А вот если подряд уже вызывать несколько конструкторов


Подряд несколько таких вызовов:

FNotifyThread[i] := TNotifyThread.Create(FPrinter1, PRINTER_CHANGE_JOB)?

А FPrinter1 где назначается?

--
Regards, LVT.


Keks   (2006-04-23 00:57:00) [16]

А в деструторе вот что:
Destructor TNotifyThread.Destroy;
Begin
 inherited;
End;

Этому как раз и была посвящена тема я думал проблема в этом


Keks   (2006-04-23 00:55:00) [17]

Вот ксатит относительно отладки у меня маленькая проблемка я никак не могу найти в среде D7 установку что бы он залазил внутрь системных процедур.


Kolan   (2006-04-23 00:55:00) [18]

А в деструкторе у тебя ничего? Код его дай.
Пока вроде ошибок нет...


Keks   (2006-04-23 00:52:00) [19]

При первом же вызове деструктора  для первого потока пишет Invalid pointer operation и дальше Access Violeation и т.д.


Kolan   (2006-04-23 00:49:00) [20]

А что в десткрукторе?

ЗЫ
Ты отлаживать пробовал я надеюсь...


Страницы:   1 2 3

Наверх

Титульная страница Поиск, карта сайта Написать письмо