![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как передать запись (TMyRecord) в процедуру... [D7, XP]
noviceman © (2008-05-13 07:28:00)В классе есть процедура типа
procedure SetSomeParam(SomePar: TMyRecord);
Вопрос в том, как передать в нее эти параметры. Делал так ( и это работает :-)):
...
var
SomeObject: TSomeClass;
...
procedure SetParFor;
var
MyRecord: TMyRecord
begin
MyRecord.First := 1;
MyRecord.Second := 255;
SomeObject.SetSomeParam(MyRecord);
end;
Как не делать предварительного описания переменной TMyRecord, как сразу в вызове процедуры описать значения параметров?
Типа:
SomeObject.SetSomeParam(...);
Заранее благодарю...
noviceman (2008-05-13 08:10:00) [1]Варианты все через дополнительную процедуру (функцию)? Тогда менять ничего не буду.
Спасибо за ответ.
Loginov Dmitry (2008-05-13 07:58:00) [2]> как сразу в вызове процедуры описать значения параметров?
>
При вызове процедуры можно передавать более одного параметра. Передавай не TMyRecord, а ее поля.
Еще можещь разработать дополнительную функцию, принимающую поля записи, и возвращающую собранную запись, например:
function BuildMyRecord(AFirst: Integer = 1; ASecond: Integer = 255): TMyRecord;
begin
with Result do
begin
First := AFirst;
Second := ASecond;
end;
end;
и оформить вызов так: SomeObject.SetSomeParam(BuildMyRecord());
Короче, вариантов масса...