Формальные параметры
Добавлено: 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.