Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-36735
McSimm2
2003-12-02 11:08
2003.12.12
порядок числа.


1-36741
AAA3AAA
2003-12-01 15:50
2003.12.12
хочу посоветоваться на счет алгоритма раскраски грида...


4-36890
Lam
2003-10-17 15:32
2003.12.12
Справка


3-36556
Степан
2003-11-20 19:24
2003.12.12
ADO, пустая таблица


7-36863
Morg
2003-10-05 01:04
2003.12.12
Пичатаем !!!




   Наверх