Падает, в чем причина?

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

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

Ответить
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Падает, в чем причина?

Сообщение Alexander »

Такой вот интерфейс:

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

Interface TestTable 'Test' doaccept, Cyan;
   show at (,,80,40)
   table struct TableOrgs(
      nrec    : Comp   ,
      crec    : Comp   ,
      name    : String
   )with index (byNrec = nrec);

   Create View TreeView
      var
        cOwner  : Comp;
     kvartal : word;
      select
         *
      from TableOrgs;

create view sm
     select * from saldmoun;
SCREEN MainScreen;
   show at(,,,10);
   fields
      kvartal :[LIST 1 'I (31/03)', 2 'II (30/06)', 3 'III (30/09)', 4 'IV (31/12)']
      {Font = {Bold = true} },Protect;
   buttons
      cmbtReport;
<<
      По состоянию на .@@@@@@@@@ квартал <.Сформировать отчет.>
>>
   end;
//------------------------------ Begin InitTables  ------------------------------
procedure InitTables;
{
   StartNewVisual(vtRotateVisual, vfTimer, 'Формирование дерева...',1);
   ClearBuffer(#TableOrgs );
   sm._Loop
   if(modifier getfirst TableOrgs where ((sm.saldmoun.kauos[1]==TableOrgs.nrec))=tsOK){
      TableOrgs.nrec  :=  1;
      TableOrgs.name  :=  '';
      Insert Current TableOrgs;
   }
   StopVisual('',0);
}
//------------------------------ End InitTables ------------------------------

//------------------------------ Begin CreateReport  ------------------------------
procedure CreateReport;
{
}
//------------------------------ End CreateReport ------------------------------
   handleEvent
      cmInit:{
         InitTables;
      }
      cmCheckField:{
         case (CurField) of
            #kvartal:{
               case (kvartal) of
               end;
            }
         end;
      }
      cmbtReport:{
         CreateReport;
      }

   end;
end.
вот на этой строчке:

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

((sm.saldmoun.kauos[1]==TableOrgs.nrec))=tsOK){
из-за
sm.saldmoun.kauos[1]
падает при запуске... говорит внутренняя ошибка, объект не найден в ресурсе... что это такое???
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

Сообщение Den »

А зачем две вью то...убери :
create view sm
select * from saldmoun;

а в процедуре
{
StartNewVisual(vtRotateVisual, vfTimer, 'Формирование дерева...',1);
_Loop saldmoun
{
if(getfirst TableOrgs where ((aldmoun.kauos[1] ==TableOrgs.nrec))=tsOK){
TableOrgs.nrec := 1;
TableOrgs.name := '';
Insert Current TableOrgs;
}
}
StopVisual('',0);
aleks1232321
Постоянный гость
Сообщения: 86
Зарегистрирован: 28 апр 2005, 12:15
Откуда: Москва

Сообщение aleks1232321 »

И вообще, интерфейсы чувствуют себя нормально только если одна view
edward_K
Заслуженный деятель интернет-сообщества
Сообщения: 5187
Зарегистрирован: 29 мар 2005, 17:49
Откуда: SPB galaxy spb

Сообщение edward_K »

да и если 2 тоже нормально - писать нужно правильней и внутри одной операции(update,getfirst) не мешайте данные разных вьюх - тока через переменные - компилятор сего не понимает. Присваивание работает тем не меее нормально.
Alexander
Местный житель
Сообщения: 248
Зарегистрирован: 28 ноя 2006, 13:29

Сообщение Alexander »

edward_K
Большое спасибо!
Вы правы... Возьмем на заметку!
:-)
Ответить