Формальные параметры
Добавлено: 06 янв 2021, 13:19
Доброго времени суток.
Как передать в процедуру параметры имени таблицы и экземпляра ISQLManager для исключения повторяемости кода
в последующих операторах альтернативного выбора case, if
в приблизительно такой реализации:
Заранее спс.
Как передать в процедуру параметры имени таблицы и экземпляра ISQLManager для исключения повторяемости кода
в последующих операторах альтернативного выбора case, if
в приблизительно такой реализации:
Код: Выделить всё
#include Query.vih
...
procedure procSetSQLMngr(
qrySqlMngrName: <VarType_Of_iQuery>;
tblTableName: <VarType_Of_Table>
); forward;
...
DataStream dsDS
(
[D1] DFrom;
[D2] DTo;
table tblT1
(
...
);
table tblT2
(
...
);
)
end;
...
procedure procSetSQLMngr(
q: <VarType_Of_iQuery>; //Здесь непонятно
tblTblName: <VarType_Of_Table>; //как правильно определить и вызывать параметры процедуры
);
{
q.SetParam('AnyVar', AnyVar ).SetParam('dStart', D1).SetParam('dEnd', D2);
if RecordsInTable(#tblTblName) > 0 then
{
sqlCopyInto(q, #tblTblName, true);
...
};
}
...
cmOk:
{
var q1 : iQuery = queryManager.CreateQuery(dsDS);
Case VarSelectable of
#csCaseFirst:
{
procSetSQLMngr(q1, tblT1)
}
#csCaseSecond:
{
procSetSQLMngr(q1, tblT2)
}
}
end.