Главная страница
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.054 c
15-1149258002
AlexanderMS
2006-06-02 18:20
2006.07.02
Задачка


15-1149648990
pargo
2006-06-07 06:56
2006.07.02
Доигрался с AppInit_DLLs :((


15-1149515866
Andy BitOff
2006-06-05 17:57
2006.07.02
Идея "интернет-правительства" 8/


11-1129730250
Dmitry Galin
2005-10-19 17:57
2006.07.02
KOLPrinters


2-1150438347
Мурзилка
2006-06-16 10:12
2006.07.02
как пользоваться таймером?