Вниз
Скачать: CL | DM;

Как передать запись (TMyRecord) в процедуру...   Найти похожие ветки 

← →
noviceman   (2008-05-13 07:28) [0]

В классе есть процедура типа
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(...);

Заранее благодарю...


← →
Loginov Dmitry ©   (2008-05-13 07:58) [1]

> как сразу в вызове процедуры описать значения параметров?
>


При вызове процедуры можно передавать более одного параметра. Передавай не TMyRecord, а ее поля.

Еще можещь разработать дополнительную функцию, принимающую поля записи, и возвращающую собранную запись, например:


function BuildMyRecord(AFirst: Integer = 1; ASecond: Integer = 255): TMyRecord;
begin
 with Result do
 begin
   First := AFirst;
   Second := ASecond;
 end;
end;


и оформить вызов так: SomeObject.SetSomeParam(BuildMyRecord());

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


← →
noviceman ©   (2008-05-13 08:10) [2]

Варианты все через дополнительную процедуру (функцию)? Тогда менять ничего не буду.
Спасибо за ответ.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
6-1187942038
leonidus
2007-08-24 11:53
2008.06.01
Indy и обработка ошибок при работе с HTTP-прокси


2-1210146878
Alexei
2008-05-07 11:54
2008.06.01
Запуск ехе-файла из программы на основе полного пути к файлу


15-1208680471
Экс-Семеныч
2008-04-20 12:34
2008.06.01
К вопросу о программистах нормальных и не. Спрашивали тут как-то


2-1210096869
Dron2
2008-05-06 22:01
2008.06.01
Если ошибка соединения - закрыть приложение. Как это сделать?


2-1209111130
DJ Kondakov
2008-04-25 12:12
2008.06.01
Добавление нового пункта в pop-up меню




   Наверх