Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как передать запись (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());

Короче, вариантов масса...


Наверх

Титульная страница Поиск, карта сайта Написать письмо