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

> ВНИМАНИЕ!

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

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

 
 Ответить  Открыть новую тему 
> Unit_ы и всё что с нимисвязано...
сообщение
Сообщение #1


Пионер
**

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

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


Хотел вот у знатоков спросить,как правильно создавать модули...т.е. как правильно в одном модуле описать классы и методы этого класса ,чтоб с ними мона было бы работать в другом...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

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


Подключаешь этот модуль в разделе implementation второго модуля и используешь из него что нужно ... По конкретней приведи пример в чем у тебя проблема


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Пионер
**

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

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


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


Гость






Если ты в одном модуле описал Тип класса, но не описал его экземпляров, то в другом модуле, естественно, ты можешь пользоваться ТОЛЬКО описанием типа:
unit m1;
interface

type
T1 = class
...
end;

implementation
...
end.


unit m2;
interface
...

implementation
uses m1;
var my_class: T1; // Создаешь экземпляр и используешь - ТОЛЬКО в m2
...
end.
Если же ты в m1 уже создал и переменную - то можешь во втором модуле использовать как сам тип (для создания еще одной переменной), так и саму уже созданную переменную:
unit m1;
interface

type
T1 = class
...
end;
var
my_class: T1;

implementation
...
end.


unit m2;
interface
...

implementation
uses m1;
var my_class_2: T1; // Создаешь ЕЩЕ ОДИН экземпляр и используешь - ТОЛЬКО в m2

procedure P;
begin
my_class = T1.Create; // конструируешь экземпляр, описанный в M1
... // и работаешь с ним
end;
...
end.


Первый вариант (на мой взгляд) предпочтительнее...
 К началу страницы 
+ Ответить 

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

 





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