Модераторы: Poseidon, Snowy, bems, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проект вызвал исключение EStackOverflow, с сообщением 'Stack Overflow' 
:(
    Опции темы
VTK
Дата 14.11.2006, 15:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



Я это и так знаю, QRChart, но без него не могу....
Увеличил размер максимального стека до {$M 16384,536870912} - проблема не решена!!!


Это сообщение отредактировал(а) VTK - 14.11.2006, 15:48
PM MAIL ICQ   Вверх
Rennigth
Дата 14.11.2006, 16:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1708
Регистрация: 21.6.2004
Где: Moscow

Репутация: 49
Всего: 76



Цитата(VTK @  14.11.2006,  15:45 Найти цитируемый пост)
Увеличил размер максимального стека до {$M 16384,536870912} - проблема не решена!!!

И не будет. Разницы никакой если у тебя кто-то болеет бесконечной рекурсией.
Ты лутше найди кто... 

PS: Могу ошибаться, но мои телепатические способности почему-то подсказывают мне что причину ты найти не можешь по причине того что дебажишь ты без "debug dcu", в Project options -> Compiler  галку поставь. 


--------------------
(* Honesta mors turpi vita potior *)
PM MAIL ICQ   Вверх
Matematik
Дата 14.11.2006, 16:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1027
Регистрация: 11.3.2006

Репутация: 17
Всего: 50



Может всетаки в программе ошибка, а эти компоненты становятся последней каплей, которая переполняет стек.
PM MAIL WWW ICQ   Вверх
VTK
Дата 14.11.2006, 17:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



Зарылся дальше, выяснилось, что ошибка вылетает во время исполнения кода unit Classes в процедуре:
Код

procedure NotifyGlobalLoading;
var
  I: Integer;
  G: TList;
begin
  G := GlobalLoaded;  // performance:  eliminate repeated trips through TLS lookup
  for I := 0 to G.Count - 1 do TComponent(G[I]).Loaded;
end;

на строке for I := 0 to G.Count - 1 do TComponent(G[I]).Loaded; когда i=125...
Кому-нибудь это что-то говорит???
PM MAIL ICQ   Вверх
VTK
Дата 15.11.2006, 10:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 46
Регистрация: 4.10.2006

Репутация: нет
Всего: нет



А вот видимо и ответ:

Цитата

 Несовместимость версий  
 
  
В связи с особенностью наших компонент, некоторые версии TeeChart не совсем совместимы с QuickReport, и компонент TQRChart и TeeChart могут быть загружены во время апгрейда QuickReport. Например, во время написания Delphi 3 версии QuickReport 3 (или выше) не все работало с TeeChart, поскольку версия of TeeChart которая поступала с Delphi 3 был кодирована под версию QuickReport 2. Для решения проблемы можно загрузить (свободно) TeeChart 4 (evaluation version J) с сайта TeeMach http://www.teemach.com/. 
Данная редакция расширяет компонент Decision Cube из Client/Sever и Enterprise Editions редакций Delphi – это зависит от TeeChart. В данный момент нет пути использовать Delphi 3 Decision Cube вместе с QuickReport 3 и TeeChart. 
Мы извиняемся за подобную ситуацию. С тех пор как мы разрешили другим сторонам писать для QR, мы не можем автономно вносить исправления в их код. Если вы имеете проблемы после апгрейда QuickReport, пожалуйста проверьте сайты http://www.qusoft.no/ и TeeMach's для получения последней информации. 



Значит нечего сделать нельзя???
PM MAIL ICQ   Вверх
Vladimir_
Дата 8.12.2009, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 3.6.2007

Репутация: нет
Всего: нет



Здравствуйте,
У меня такая ситуация: нет рекурсий; нет функций, в которой бы я передавал параметры и вызывал ее часто, все крутится в одно обработчике- по нажатию кнопки

вот обработчик : 

Код

procedure TForm1.Metod_3_S_3;

const
r=1000;//strtoint(edit7.Text);
p1=3;
z1=3;
//l - образы
var
i,j,k,l:longint;
Em,Ex: extended;
yj,gj: Array [1..100] of extended;
yk,gk: Array [1..3] of extended;

begin
it:=0;
ex:=0;

Repeat

  inc(it);
  Form1.Edit13.Text:=IntToStr(it);
  //===обнуляем вых значения и ошибки

  Em:=0;
  //====Подаем образы
  For l:=1 to StrToInt(Form1.Edit11.Text) do
   begin
     //===Находим вых знач скрытого слоя
     For j:=1 to StrToInt(Form1.Edit8.Text)  do
      begin
        yj[j]:=0;
        For i:=1 to p1 do
         yj[j]:=yj[j]+wij[i,j]*arr[i,l];
        yj[j]:=yj[j]-Tj[j];
        yj[j]:=(1/(1+exp(-yj[j])));
        Application.ProcessMessages;
      end;
     //====Находим выходные значения всей сети
     For k:=1 to z1 {3} do
      begin
        yk[k]:=0;
        For j:=1 to StrToInt(Form1.Edit8.Text) do
         yk[k]:=yk[k]+wjk[j,k]*yj[j];
        yk[k]:=yk[k]-Tk[j];
        Application.ProcessMessages;
      end;
      //===находим ошибки сети
       //==для вых слоя
      For k:=1 to z1 {3} do
       gk[k]:=yk[k]-arr[k,l+1];
       //для скрыт слоя
      For j:=1 to StrToInt(Form1.Edit8.Text) do
       begin
         gj[j]:=0;
         For k:=1 to z1 do
           gj[j]:=gj[j]+gk[k]*wjk[j,k];
       end;


      //==поправляем веса вых слоя
      for j:=1 to StrToInt(Form1.Edit8.Text) do
        for k:=1 to z1 do
           wjk[j,k]:=wjk[j,k]-alfa*yj[j]*gk[k];

      for k:=1 to z1 do
         Tk[k]:=Tk[k]+alfa*gk[k];

      //==веса скрыт слоя
      for i:=1 to p1 do
         for j:=1 to StrToInt(Form1.Edit8.Text) do
           wij[i,j]:=wij[i,j]-alfa*gj[j]*yj[j]*(1-yj[j])*arr[i,l];

      for j:=1 to StrToInt(Form1.Edit8.Text) do
        Tj[j]:=Tj[j]+alfa*gj[j]*yj[j]*(1-yj[j]);
      //===Находим ошибку

      for k:=1 to z1 do
        Em:=Em +(1/2)*sqr(yk[k]-arr[k,l+1]);
   end;

  Form1.Refresh; 
  Form1.Edit14.Text:=FloatToStr(Em);
  Form1.ProgressBar1.Position := Round(100* E / Em );
  Application.ProcessMessages

Until (Em<=E);

  Form1.ProgressBar1.Position := 0;


end;


в самом первом  vare описал массив :
  arr: Array [1..3,1..100000] of real;

Я и все realы заменил extendedами.... уверен что зацикливания не происходит,  т.к если я поставлю размер выборки не 50 а допустим 5-10, шаг обучения 0,1 и среднеквадратичную ошибку 0,1 - отработает без проблем, сообственно это было пояснение к моей программе, которая прилагается....

Обьясните в чем казус,что нужно сделать ,чтобы исправить ситуацию, спасибо!

Присоединённый файл ( Кол-во скачиваний: 2 )
Присоединённый файл  NeuroNetworks.rar 30,51 Kb
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0503 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.