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

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

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.07.2013, 22:06   #11
gonan
 
Регистрация: 13.01.2013
Сообщений: 3
По умолчанию

Подскажите а как сделать глобальный динамический массив. То есть мне необходим двухмерный массив который будет виден из всех модулей.
Я создал файл GobalVar.pas в котором есть
Код:
type TMass=array of array of integer;
...
var Mass : TMass;
В Unit1.pas пишу
Код:
uses GlobalVar;
.....
procedure TForm1.FormCreate(Sender: TObject);
begin
  //Пробывал так
   SetLength(Mass, 2);
  //Пробывал  и так
  SetLength(Mass, 2, 2);
end;
При компиляции проекта получаю ошибку
Код HTML:
[DCC Error] Unit1.pas(90): E2003 Undeclared identifier: 'Mass'
Заранее спасибо!!!
P.S. Delphi XE2

Последний раз редактировалось gonan; 30.07.2013 в 22:07. Причина: P.S. Delphi XE2
gonan вне форума Ответить с цитированием
Старый 30.07.2013, 22:20   #12
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

А в файле GobalVar.pas есть строчка interface?
northener вне форума Ответить с цитированием
Старый 30.07.2013, 22:24   #13
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от northener Посмотреть сообщение
А в файле GobalVar.pas есть строчка interface?
а точнее массив должен быть объявлен в секции interface.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.07.2013, 22:48   #14
gonan
 
Регистрация: 13.01.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а точнее массив должен быть объявлен в секции interface.
Да. Вот полный код GlobalVar.pas

Код:
unit GlobalVar;

interface

type
  TMass = array of array of  integer;

implementation

var
  Mass : TMass;
end.
gonan вне форума Ответить с цитированием
Старый 30.07.2013, 22:50   #15
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

ну и где у вас переменная объявлена в секции interface?

interface это все что экспортируется из модуля.
implementation это все что внутри модуля + реализации функций и методов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.07.2013, 22:51   #16
northener
ПШП
Участник клуба
 
Регистрация: 15.07.2013
Сообщений: 1,859
По умолчанию

Переменную Mass тоже надо поместить в секцию interface.
northener вне форума Ответить с цитированием
Старый 30.07.2013, 22:56   #17
gonan
 
Регистрация: 13.01.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
ну и где у вас переменная объявлена в секции interface?
Да полностью согласен. Тупанул. Хотя не первый год .... . Открыл один из старых проектов БЛИН, БЛИН .... Спасибо что ткнули.
gonan вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Двумерный Массив n01R Помощь студентам 9 19.12.2009 16:41
Двумерный массив... slim5 Помощь студентам 2 20.06.2008 23:16
Двумерный массив в С++ Draid Помощь студентам 2 07.03.2008 22:06
Двумерный массив Jodu Помощь студентам 18 05.12.2007 22:44