Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.07.02;
Скачать: CL | DM;

Вниз

public mymass: array of integer - не виден в другом модуле :(   Найти похожие ветки 

 
Layner ©   (2006-05-24 16:33) [0]

Здравствуйте господа программисты! Подскажите, как мне правильно объявить массив (определить размерность, заполнить..) в одном unit, чтобы можно было его использовать в другом юните.

В первом модуле я пишу:

 public
   mymass: array of integer;

Во втором пытаюсь его вызвать, но не могу. Любые переменные, которые так же public вызываюся, а массив также нельзя вызвать? Если такого нельзя, может быть в таких случаях надо копировать массив из одного модуля в другой модуль? Или ссылку передать? Заранее благодарю за любой ответ.


 
Сергей М. ©   (2006-05-24 16:36) [1]


> массив ..вызвать


Что такое "вызвать массив" ?

Иллюстрируй в коде


 
Игорь Шевченко ©   (2006-05-24 16:50) [2]

Все работает

unit Unit1;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;

type
 TForm1 = class(TForm)
   procedure FormShow(Sender: TObject);
 public
   Bar: array of Integer;
 end;

var
 Form1: TForm1;

implementation
uses
 Unit2;

{$R *.DFM}

procedure TForm1.FormShow(Sender: TObject);
begin
 Foo (Self);
end;

end.


unit Unit2;

interface
uses
 Unit1;

procedure Foo (FormClass: TForm1);

implementation
uses
 Dialogs;

procedure Foo (FormClass: TForm1);
begin
 ShowMessageFmt ("Bar length = %d", [Length(FormClass.Bar)]);
end;

end.


 
Layner ©   (2006-05-25 08:16) [3]

Здравствуйте!

Все понял! В общем пытался я вызвать этот массив, а так как нагородил прилично, сам не мог понять, почему же не вызывается элемент массива. Кроме того, инспектор кода не показывает ссылку на название массива, хотя если вписать вручную, то компилится без ошибки.

Суть - есть TreeView - дерево папок "вирт. полок в магазине", у каждой папки есть "товары" которые лежат в ListView и в массиве (их ID), и цель "таскать" товары из папки в папку. Ну и сам забыл, что при OnDragDrop у меня папка в дереве становится другая, и массив переициализируется.

Сейчас переделаю, в принципе ничего сложного :)


 
Сергей М. ©   (2006-05-25 08:27) [4]


> и в массиве (их ID)


Зачем заводить какой-то массив, когда для хранения доп.инф-ции (ID - это и есть доп.инф-ция) каждый TTreeNode и каждый TListItem имеет св-во Date ?


 
Loginov Dmitry ©   (2006-05-25 08:49) [5]

Сергей М. ©   (25.05.06 8:27) [4]
имеет св-во Date ?


Поправлю, Data :)



Страницы: 1 вся ветка

Текущий архив: 2006.07.02;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.048 c
2-1150450242
Gydvin
2006-06-16 13:30
2006.07.02
Savedialog, сообщение о существующем файле


2-1149829599
Dimich1978
2006-06-09 09:06
2006.07.02
addobject выдает несовместимость типов


2-1149842881
Perf2k2
2006-06-09 12:48
2006.07.02
Обработка исключений (MaskEdit)


2-1150280850
FiJer
2006-06-14 14:27
2006.07.02
Поиск hex строки


2-1149770488
Иван123
2006-06-08 16:41
2006.07.02
IDPOP3 - прочитано ли письмо