Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2010, 17:02   #1
ChEaTeR-abc
Заблокирован
 
Регистрация: 30.06.2010
Сообщений: 104
По умолчанию Несколько форм на один Unit (Delphi)

Есть 2 Unit'а и в обоих используется один массив.Нужно или сделать чтобы этот массив был доступен в обоих Unit'ах или объеденить две формы в один Unit.Как это сделать?
ChEaTeR-abc вне форума Ответить с цитированием
Старый 13.07.2010, 17:11   #2
Sanprof
Форумчанин
 
Аватар для Sanprof
 
Регистрация: 28.01.2008
Сообщений: 267
По умолчанию

в одном из юнитов объявить массив в разделе interface
Код:
interface

....

var
  Form1: Tform1;
  massiv: array of integer;

implementation

{$R *.dfm}

....
Не забываем говорить спасибо за помощь - это ведь так приятно
Sanprof вне форума Ответить с цитированием
Старый 13.07.2010, 20:03   #3
ChEaTeR-abc
Заблокирован
 
Регистрация: 30.06.2010
Сообщений: 104
По умолчанию

Ну я так и делаю.Когда выполняю операцию с этим массивом в Unit'е, в котором он не объявлен, выдает ошибку.
ChEaTeR-abc вне форума Ответить с цитированием
Старый 13.07.2010, 20:05   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

uses <Unit с массивом>
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 13.07.2010, 20:14   #5
ChEaTeR-abc
Заблокирован
 
Регистрация: 30.06.2010
Сообщений: 104
По умолчанию

Если я правильно понял нужно писать так:
Код:
implementation

uses Unit1;
А в первом Уните то же самое только заменить на Unit2.В таком случае выдает Identifier redeclared: 'Unit1'
ChEaTeR-abc вне форума Ответить с цитированием
Старый 13.07.2010, 20:17   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

секций uses может быть две, проверьте, может второй раз попалось(а зачем второму модулю знать о первом если массив во второй?(я к тому что зачем замыкать их?))
иногда полезно делать отдельный модуль с общими переменными.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 14.07.2010, 04:34   #7
Korben5E
Форумчанин
 
Аватар для Korben5E
 
Регистрация: 13.07.2010
Сообщений: 346
По умолчанию

Цитата:
Сообщение от ChEaTeR-abc Посмотреть сообщение
Ну я так и делаю.Когда выполняю операцию с этим массивом в Unit'е, в котором он не объявлен, выдает ошибку.
какого рода ошибка?

для подключения других модулей используйте комбинацию Alt+F11
Non est culpa vin, sed culpa bibentis
Korben5E вне форума Ответить с цитированием
Старый 14.07.2010, 23:20   #8
psycho-coder
Участник клуба
 
Аватар для psycho-coder
 
Регистрация: 06.04.2009
Сообщений: 1,524
По умолчанию

Создайте модуль. File->New->Other->Data Module
и поместите массив в него, и не забудьте подключить этот модуль в uses
psycho-coder вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Несколько RichEdit'ов в один apromix Компоненты Delphi 9 12.04.2019 10:41
Склеит несколько массивов в один Darunok Microsoft Office Excel 7 22.06.2010 20:35
Как вывести несколько одинаковых форм одновременно k1r1ch Общие вопросы Delphi 11 22.08.2009 18:07
несколько форм? FAiver Общие вопросы Delphi 5 15.12.2007 22:58
Несколько форм. Sargon Помощь студентам 23 15.09.2007 23:52