|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Как правильно описать свойство формы?
Глубокоуважаемые эксперты, научие правильно жить.
Как правильно описать свойство формы? (не уверен в верной формулировке вопроса). Суть проблеммы: имеем - главная форма - 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; Код:
frmKodPrint.KodToPrint:= ListBox1.Items; Код:
public { Public declarations } property KodToPrint: TStrings read GetKod write SetKod; Знаю, сейчас написано не правильно. Даже Код:
read GetKod и делфи (7) на орфографию не ругается, но при компиляции просто виснет. Последний раз редактировалось Помидоркин, 21.09.2013 в 11:37. |
#2
|
||||
|
||||
По-ходу вы и так живёте правильно Какой-то очередной велосипед, и без этого ведь прекрасно работает всё: у вас уже есть переменная Kod, обзовите её KodToPrint и всё будет согласно заявленной логике минус лишние пару-тройку процедур и функций, про uses только не забывайте
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Помидоркин (25.09.2013)
|
#3
|
||||
|
||||
Цитата:
Например, предположим, что задача диалога -- редактировать переданный StringList: Код:
type TStringListEditor = class(TForm) ... public function Execute(List: TStringList): Boolean; end; function TStringListEditor.Execute(List: TStringList): Boolean; begin LeftListBox.Strings := List; // установка начальных значений if ShowModal = mrOK then begin List.Assign(LeftListBox.Strings); // получение результата Result := True; end else Result := False; end; |
Этот пользователь сказал Спасибо Freeman за это полезное сообщение: | ||
Помидоркин (25.09.2013)
|
#4
|
||||
|
||||
Цитата:
KodToPrint:= TStringList.Create |
#5
|
||||
|
||||
Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 25.09.2013 в 23:33. |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
Помидоркин (06.10.2013)
|