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

> ВНИМАНИЕ!

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

> Unit_ы и всё что с нимисвязано...
Vardes
сообщение 21.12.2006 16:23
Сообщение #1


Пионер
**

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

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


Хотел вот у знатоков спросить,как правильно создавать модули...т.е. как правильно в одном модуле описать классы и методы этого класса ,чтоб с ними мона было бы работать в другом...
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 3)
klem4
сообщение 21.12.2006 16:45
Сообщение #2


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

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

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


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


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


Пионер
**

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

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


Вот к прмеру, если мы в одном модуле описали класс, то в др. мы пользуемся уже объектами этого класса?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 22.12.2006 12:01
Сообщение #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

 



- Текстовая версия 8.07.2025 16:08
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"