Вылетает галактика

ПНР и сопровождение

Модераторы: m0p3e, edward_K, Модераторы

Ответить
novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

Вылетает галактика

Сообщение novichok »

Подскажите, пожалуста, почему галактика вылетает при запуске моего ARD-отчёта?
Он компилируется нормально, несколько секунд работает, а потом ...
Сообщение "Прекращена работа программы ядро 2-х уровневого атлантис-приложения"
Прям дурдом какой-то.
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Вылетает галактика

Сообщение edward_K »

logstrtofile вам в помощь.
сначала редко, потом на выявленном куске чаще.
Вылетает молча? причин много есть - без кода и локализации куска в нем тяжко предположить.
Может вылетать на криво построенном запросе или попытке вставки с использованием полей массивов или данных с другой view.
novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

Re: Вылетает галактика

Сообщение novichok »

edward_K писал(а):logstrtofile вам в помощь.
сначала редко, потом на выявленном куске чаще.
Вылетает молча? причин много есть - без кода и локализации куска в нем тяжко предположить.
Может вылетать на криво построенном запросе или попытке вставки с использованием полей массивов или данных с другой view.
Вылетает всегда в разных местах, как будто от фонаря.

Код: Выделить всё

stmt:=sqlAllocStmt;
            sqlAddStr(query,'insert into schfact (direct,tipuser,subtip,dfact,dpost,num,corg,csoprhoz,sum[2],sum[3],summa,summareg) values ');
            sqlAddStr(query,'(1,7218,16,#date(31,12,2013),#date(31,12,2013),'#39+String(i-1)+''#39);
            sqlAddStr(query,',#comp('+zap1[1]+'),#comp('+zap2[1]+'),');
            xlGetCellValue(i,4,yach);
            if trim(yach)=''
            then { xlGetCellValue(i,5,yach);
                   yach:='-'+yach };
            sqlAddStr(query,Replace(yach,',','.')+','+zap2[2]+','+zap2[2]+','+zap2[2]+')');
            k_osh:=sqlPrepare(stmt,query); 
Такой кусок может не нравиться? zap1 и zap2 берутся из предыдущих selectов
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5188
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Re: Вылетает галактика

Сообщение edward_K »

Скорей всего вы не следите за инициализацией или освобождением хендлов.
как то так

Код: Выделить всё

//******************************************************************************

Procedure ClearQuery(var liHandle : longint);
{
  if (liHandle <> 0)
    {
      sqlFreeStr(liHandle);
      liHandle := 0;
    }
}
и так

Код: Выделить всё

  sqlFreeStmt(stmt);
  ClearQuery(vliSQLCommand);
Еще в эти функции лучше передавать готовую строку.
И все так logstrtofile 8) вам покажет в какой именно момент вы вылетаете. Вроде именно это приводит к случайным вылетам в момент инициализации.
novichok
Постоянный гость
Сообщения: 79
Зарегистрирован: 10 апр 2013, 09:24

Re: Вылетает галактика

Сообщение novichok »

Спасибо !!! :smile:
sqlFreeStmt у меня было, а := 0 не было.
Теперь перестала вылетать!
Ответить