Глубокоуважаемые эксперты, научие правильно жить.
Как правильно описать свойство формы? (не уверен в верной формулировке вопроса).
Суть проблеммы: имеем - главная форма - 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.
Знаю, сейчас написано не правильно. Даже
не подсвечивается.
и делфи (7) на орфографию не ругается, но при компиляции просто виснет.