Главная страница
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.027 c
1-36707
Лана Розанова
2003-11-26 20:38
2003.12.12
ListBox


3-36515
AkaSaint
2003-11-21 16:54
2003.12.12
Изменяю в ClientDataSet одну запись-на сервере изменяется вся tbl


14-36815
viktor_mixalich
2003-11-19 22:47
2003.12.12
Возможна ли сеть 100/10 по 1й паре провода??


3-36514
Улан
2003-11-19 07:16
2003.12.12
dbf+ADO


3-36582
n13
2003-11-20 11:58
2003.12.12
dbf