IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Поля объекта....
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 131
Пол: Мужской

Репутация: -  0  +


Как можно исправить проблему???Не могу обратится к полю объекта....
Имеется два модуля: Главный, зависящий от формы и присоединённый к нему...Во втором модуле я описываю обект и его поля, а в главном с помощью процедуры Form1.Create, отвожу память под поля...так вот теперь я не могу обратиться к полям объекта через 2-ой модуль...(может немного запутано...поясняю)
Код

unit main;
......
uses prog;
......
var
Layer:TLayer;

procedure TForm1.FormCreate(Sender: TObject);
begin
Layer:=TLayer.Create;
end;
procedure A;
begin
Do;
end;
end.

Код

unit prog;
type
TLayer:class
w:real
end;
var Layer:TLayer
......
......
.......
Procedure Do;
begin
Layer.w:=0.5; //здесь и возникает ошибка...можно сделать так Procedure DO(Layer:TLayer), ну а если у меня классов много и все в процедуре, мне так их все и переписывать???
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гость






А возникать будет ошибка по очень простой причине: ты пытаешься обратиться в DO к полю неинициализированного объекта! Ты же описываешь в каждом модуле свою переменную типа TLayer? Вот в одном модуле ты инициализируешь одну из них, а во втором - обращаешься к неинициализированному... А это AV...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

Группа: Пользователи
Сообщений: 131
Пол: Мужской

Репутация: -  0  +


Это я понимаю...а как выйти из этой проблемы?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гость






А не описывать в модуле main переменную Layer нельзя? Тогда Delphi будет проверять все подключаемые модули, а в одном из них уже есть такая переменная, будешь работать с ней.
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Пионер
**

Группа: Пользователи
Сообщений: 131
Пол: Мужской

Репутация: -  0  +


Точно...спасибо тебе...проблема решилась)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 16.10.2021 12:58
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name