0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 16
1

Можно ли использовать юнит в качестве входного параметра для функции

16.07.2014, 20:10. Показов 874. Ответов 5
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В проекте есть n-ное количество unit'ов, причем с разными названиями, но в каждом юните есть глобальная переменная с одинаковым названием. И в зависимости от ситуации, нужно получить эту переменную из какого-либо юнита. Вопрос такой: можно ли использовать юнит в качестве входного параметра для функции?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
16.07.2014, 20:10
Ответы с готовыми решениями:

Любой массив в качестве входного параметра
Добрый день! Возникла необходимость написать подпрограмму удаления элемента из массива (здесь не...

Разработайте приложение для вычисления функции. В качестве f(x) использовать по выбору: sin(x), x2, ex
Помогите вычиcлить эту функции.. вообще никак не получаетcя..

Разработайте приложение для вычисления функции. В качестве f(x) использовать по выбору: sin(x), x2, ex
Разработайте приложение для вычисления функции. В качестве f(x) использовать по выбору: sin(x), x2,...

Использовать имя таблицы в качестве параметра триггерной функции
Добрый день всем, есть такая задача: Имеем 3 таблицы: group1(id serial, name1 text), prod(id...

5
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32854 / 21188 / 8151
Регистрация: 22.10.2011
Сообщений: 36,441
Записей в блоге: 8
16.07.2014, 20:17 2
Ответ такой: нельзя.
0
0 / 0 / 0
Регистрация: 17.05.2012
Сообщений: 16
16.07.2014, 20:19  [ТС] 3
А можно как-то по другому решить проблемку такую?
0
пофигист широкого профиля
4739 / 3172 / 860
Регистрация: 15.07.2013
Сообщений: 18,281
16.07.2014, 20:21 4
И не нужно. Количество и имена юнитов известны еще на этапе компиляции.
0
13104 / 5885 / 1706
Регистрация: 19.09.2009
Сообщений: 8,808
17.07.2014, 11:02 5
Конечно, нужно поставить вопрос об архитектуре. Но в данном случае вот так можно сделать:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{Предположим, что в разных модулях в разделе interface объявлена переменная:
...
interface
...
var
  gVal : Integer;
...
implementation
...
Эти модули должны быть подключены в текущем модуле через uses.}
 
uses
  Uni1, Unit2, Unit3;
 
function GetValue(const aUName : String) : Integer;
var
  UName : String;
begin
  UName := AnsiUpperCase(aUName);
  if UName = 'UNIT1' then
    Result := Unit1.gVal
  else if UName = 'UNIT2' then
    Result := Unit2.gVal
  else if UName = 'UNIT3' then
    Result := Unit3.gVal
  else
    raise Exception.Create('function GetValue(). Не зарегистрированное имя модуля!');
end;
0
4165 / 1817 / 216
Регистрация: 06.10.2010
Сообщений: 4,074
17.07.2014, 12:21 6
Если помимо переменной в модулях ещё и функции с одинаковыми именами, то такое обычно делается при помощи com-интерфейсов.
0
17.07.2014, 12:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2014, 12:21
Помогаю со студенческими работами здесь

Как правильно использовать массив в качестве параметра функции ?
Здравствуйте ! Подскажите, пожалуйста правильный синтаксис описания функции, в качестве параметра...

CLR функция с таблицей в качестве входного параметра
Можно ли сделать CLR функцию, на вход которой будет подаваться таблица? Если да, то покажите...

Можно ли в качестве параметра функции передать другую функцию?
В ниже представленной программе функция returnMax находит в массиве максимальный элемент и...

Передача массива в Oracle в качестве входного параметра хранимой процедуры
Доброго времени суток. В Oracle (8i) у меня есть пакет (MyPackage) с процедурой procedure...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru