Показать сообщение отдельно
  #1  
Старый 21.09.2013, 11:33
Аватар для Помидоркин
Помидоркин Помидоркин вне форума
Начинающий
 
Регистрация: 07.10.2012
Адрес: Дедовск
Сообщения: 110
Версия Delphi: Rio 10.3
Репутация: 10
По умолчанию Как правильно описать свойство формы?

Глубокоуважаемые эксперты, научие правильно жить.
Как правильно описать свойство формы? (не уверен в верной формулировке вопроса).
Суть проблеммы: имеем - главная форма - FormKE и дополнительная - frmKodPrint.
В frmKodPrint нужно передать Strings, открыть модально, ну а дальше я сам (буду рисовать этот Strings на канве).
Вопрос в том, как это сделать ПРАВИЛЬНО.
делаю так:
Код:
unit KodPrint;

....

type
  TfrmKodPrint = class(TForm)
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
    function GetKod (): TStrings;
    procedure SetKod(const Value: TStrings);
  public
    { Public declarations }
    property KodToPrint: TStrings read GetKod write SetKod;
  end;

var
  frmKodPrint: TfrmKodPrint;
 // Kod: TStringList;

implementation

{$R *.dfm}

function TfrmKodPrint.GetKod(): TStrings;
begin
 Result:= KodToPrint;
end;

procedure TfrmKodPrint.SetKod(const Value: TStrings);
begin
//
end;


procedure TfrmKodPrint.FormCreate(Sender: TObject);
begin
 ComboBox1.Items:= KodToPrint;
end;
комбо бокс использовать не собираюсь, просто тестирую
в главной форме присваиваю значение:
Код:
unit KodEditor

...

procedure TFormKE.btnPrintClick(Sender: TObject);
begin
 frmKodPrint.KodToPrint:= ListBox1.Items;
 frmKodPrint.ShowModal;
end;
т.е. смысл в том чтобы не создавать НЕНУЖНЫХ промежуточных звеньев типа ComboBox или TStringList, в главной форме присвоить свойству дополнительной формы значение.
Код:
frmKodPrint.KodToPrint:= ListBox1.Items;
а в дополнительной использовать (если возможно) значение свойства:
Код:
  public
    { Public declarations }
    property KodToPrint: TStrings read GetKod write SetKod;
непосредственно, или (если невозможно) через, например, TStringList.
Знаю, сейчас написано не правильно. Даже
Код:
 read GetKod 
не подсвечивается.
и делфи (7) на орфографию не ругается, но при компиляции просто виснет.
Ответить с цитированием