![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| SeeGate |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 7.1.2005 Репутация: нет Всего: нет |
Здраствуйте.
Собственно вопрос по Delphi. Существуют 2 класса TSwitch и TClient. TClient = class; PClient = ^TClient; TSwitch = class; PSwitch = ^TSwitch; В первом есть переменная-указатель на TSwitch и массив указателей на TClient. TSwitch = class private public { Public declarations } clients : array of PClient; switch : PSwitch; {Другие переменные и методы} end; Во втором есть только указатель на класс TSwitch. TClient = class public { Public declarations } switch : PSwitch; {Другие переменные и методы} end; Задача в том, чтобы создать 2 объекта класса TSwitch и 2 массива объектов класса TClient. При этом в каждом объекте TSwitch должен быть указатель на второй объект этого класса и массив указателей на массив объектов класса TClient. А в каждом элементе массивов TClient должен быть указатель на один из объектов TSwitch. Создаю объекты так SW_1:=TSwitch.Create; и вроде все нормально, но когда доходит дело до присвоения указателей - начинают сыпаться ошибки доступа к памяти. Если не сложно, подскажите, как грамотно действовать. Это сообщение отредактировал(а) SeeGate - 7.1.2005, 22:27 |
|||
|
||||
| Ptica |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 27.7.2004 Репутация: нет Всего: 2 |
В Delphi нет необходимости пользоваться такой вещью, как "указатель на объект". Любая переменная-объект сама по себе уже есть указатель. Поэтому-то любой объект для своего создания требует вызова TMyClass.Create. Это в С++ есть лично объекты, которые создаются сразу же, как только их описали, а есть указатели на объекты, которые создаются через new. Поэтому о такой вещи, как
просто забудьте. Везде, где у Вас есть PClient и PSwitch, пишите TClient и TSwitch. Я сам на эти грабли однажды наступил. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |