Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.025 c
2-1150356593
Жора :)
2006-06-15 11:29
2006.07.02
Указатели


2-1150386453
тт
2006-06-15 19:47
2006.07.02
Как запустить агента? ( Джина )


10-1121155518
Sinsin
2005-07-12 12:05
2006.07.02
Как можно узнать, был ли запущен сервер вручную?


2-1150390345
самсамыч
2006-06-15 20:52
2006.07.02
проблема с while do


15-1149290299
SergProger
2006-06-03 03:18
2006.07.02
Посоветуйте язык




   Наверх