Главная страница
    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.45 MB
Время: 0.006 c
6-36793
sapsi
2003-10-01 09:13
2003.12.12
Команда Ping под Делфи


1-36671
Паша_Кимры
2003-11-30 13:37
2003.12.12
Технология СОМ


1-36593
GreySerg
2003-12-01 18:20
2003.12.12
Как получить доступ к свойствам объекта , у которого есть PopupM


4-36912
Talla2k
2003-10-19 23:07
2003.12.12
Пути запуска


3-36583
Grrey
2003-11-18 16:30
2003.12.12
Возможно ли выбрать из ассоциативного массива (table) в Cursor





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский