ÎÁ 1.5 ÔÁËÏÇÏ ÇÌÀËÁ ÎÅ ÚÁÍÅÞÁÌ, Á ÐÅÒÅÛÅÌ ÎÁ 2.0.2 É ÐÏÌÕÞÉÌ:
úÁÐÒÏÓ:
select TIMEHOURARRAY(Time_Log) as TIMEHOURARRAY_Time_Log,
sum(TIMETOROUNDMINUTES(DURATION,0)) as Sum_Minutes,
sum(SUMMA) as Sum_Money
from sp_select_log
(:DateBegin,:DateEnd,:TimeBegin,:TimeEnd,:ID_EXT_Line,:Department,
:ID_CO_Line,:Operator,:MaskTelNumber,:Flag_Direction,
:Flag_Transfer, :Flag_Answer, :ACC_Codes, -1)
where (TIMETOROUNDMINUTES(DURATION,0) > 0)
group by TIMEHOURARRAY(Time_Log)
order by 1
×ÙÚÙ×ÁÅÔ ÐÁÄÅÎÉÅ ÓÅÒ×ÅÒÁ Ó
The user defined function: TIMEHOURARRAY
referencing entrypoint: TimeHourArray
in module: nntudf
caused the fatal exception: Access violation.
The code attempted to access a virtual
address without privilege to do so.
This exception will cause the Firebird server
to terminate abnormally.
óÁÍÁ ÆÕÎËÃÉÑ
DECLARE EXTERNAL FUNCTION TIMEHOURARRAY
TIME
RETURNS CSTRING(11) FREE_IT
ENTRY_POINT 'TimeHourArray' MODULE_NAME 'nntudf';
É ÅÅ ÔÅËÓÔ
const
TIME_HOUR_ARRAY: array[0..23] of string =
('00:00-01:00','01:00-02:00','02:00-03:00','03:00-04:00',
'04:00-05:00','05:00-06:00','06:00-07:00','07:00-08:00',
'08:00-09:00','09:00-10:00','10:00-11:00','11:00-12:00',
'12:00-13:00','13:00-14:00','14:00-15:00','15:00-16:00',
'16:00-17:00','17:00-18:00','18:00-19:00','19:00-20:00',
'20:00-21:00','21:00-22:00','22:00-23:00','23:00-24:00');
//ÐÅÒÅ×ÏÄ ÞÁÓÏ× ÉÚ Ttime × ÓÔÒÏËÏ×ÙÊ ×ÉÄ '00:00-01:00'
function TimeHourArray(var T: TFBTime): PChar; cdecl; export;
var S: ShortString;
begin
//** Result := StrPCopy(Result, TIME_HOUR_ARRAY[FBDecodeTime(T).Hour]);
S := TIME_HOUR_ARRAY[FBDecodeTime(T).Hour];
Result := malloc(Length(S) + 1);
StrPCopy(Result, S);
end;
÷ ÞÅÍ Ñ ÎÅ ÐÒÁ×?