Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.12.12;
Скачать: CL | DM;

Вниз

Вопрос о модулях.   Найти похожие ветки 

 
StasVashuk ©   (2003-10-06 16:40) [0]

Есть проэкт.

у него Uses a,tmp;

Модуль А имеет процедуру присваивания и функцию получения значения единственой его переменной "N" (Var N:word; которую можно поместить в позиции !1! и !2!.При этом понятно в позиции !1! "N" будет видна программе, которая использует "А", а в !2! не доступна.)(см ниже)

Модуль Tmp использует "a" и повторяет все его функции с буквой "T" в конце(см ниже).
В нём я ставил "Uses A;" в местах !A! и !B!.
Вопрос №1 - В чём разниза.

Далее, я протестировал ЭТО и получил (СМ программу) след. результаты, причём ни от положения Uses в "tmp" ни от положения var в "A" этот результат не зависит.
модуль а как бы есть в памяти в ОДНОМ экземпляре, и "А" и "Tmp" используют один и тот же модуль.

Вопрос №2, как сделать так, чтобы было как бы ДВА модуля "А" в памяти, один для программыЮ другой для модуля "TMP".

+++++
unit a;
interface
{!1!}
function getval: Word;
procedure setval(v: Word);
implementation
{!2!}
function getval: Word;
begin
result := n;
end;
procedure setval(v: Word);
begin
n:= v;
end;
end.
+++++
unit Tmp;
interface
{!A!}
function getvalT: Word;
procedure setvalT(v: Word);
implementation
{!B!}
function getvalT: Word;
begin
result := getval;
end;
procedure setvalT(v: Word);
begin
setval(v);
end;
end.
+++++
program Q;
uses a, tmp;
begin
setval(2);
setvalt(10);
writeln(getval){=10 в любом случае}
writeln(getvalT){=10 в любом случае}
end.
+++++


 
Плохиш_   (2003-10-06 16:49) [1]


> Вопрос №1

Шли бы Вы, батенька, книжки читать


> Вопрос №2

Сделать два модуля A и ответ на вопрос 1


 
StasVashuk ©   (2003-10-07 10:33) [2]

Какой ты добрый и весёлый.
Кто нибудь умнее, ответьте на мои вопросы пожалуйста


 
pasha_676 ©   (2003-10-07 11:30) [3]

Два модуля в памяти бесмыслиться. Модуль не может иметь экземпляры. Тебе надо понять что есть модуль. Скорее всего тебе надо два объекта (или может два потока). Ну а вопрос 1 - это действительно читайте книжки по паскалю.


 
Digitman ©   (2003-10-07 14:00) [4]


> {=10 в любом случае}


любопытно, а что ты ожидал увидеть в ином случае, если бы он был возможен при такой реализации ?



Страницы: 1 вся ветка

Текущий архив: 2003.12.12;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.02 c
11-36586
Slay
2003-03-31 01:40
2003.12.12
object & property


1-36627
pashaz
2003-11-29 08:49
2003.12.12
SMExport


1-36727
Tetragrammaton
2003-12-02 12:03
2003.12.12
Перерисовка окна


14-36830
VtkUser
2003-11-19 15:37
2003.12.12
password & XP


1-36717
tipman
2003-12-02 11:58
2003.12.12
Вопрос о размере приложения - почему?