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

Поиск:

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


Новичок



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

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



Проект вызвал исключение EStackOverflow с сообщением 'Stack Overflow' как решить проблему??? smile  smile  smile 
Пытался увеличить значение минимального и максимального стека в меню проекта, но проблема этими манипуляциями не решена...
Но такая ошибка появляется только при добавлении на форму Qreport и QRChart, если эти компоненты добалять на другой проект - все компилируется нормально....

Как быть???

Добавлено @ 10:19 
Забыл добавить, что такая проблема возникает если в дельфе установлен TeeChart 6, если его не стоит - все нормально...
PM MAIL ICQ   Вверх
JUmPER
Дата 10.11.2006, 10:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



не совсем понял: переполнение происходит при компиляции?
тогда
Цитата(VTK @  10.11.2006,  10:17 Найти цитируемый пост)
Как быть???

вот и ответ =)
Цитата(VTK @  10.11.2006,  10:17 Найти цитируемый пост)
Забыл добавить, что такая проблема возникает если в дельфе установлен TeeChart 6, если его не стоит - все нормально... 


--------------------
Существует 10 типов людей: те, которые понимают двоичную систему, и те, которые ее не понимаютСуществует 10 типов людей: те, кто понимают троичную систему, те, кто ее не понимают и те, кто путает ее с двоичной
PM MAIL   Вверх
VTK
Дата 10.11.2006, 10:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Извините за тупость... А какой ответ-то???
PM MAIL ICQ   Вверх
JUmPER
Дата 10.11.2006, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



не ставить TeeChart6 =)
--------------------
Существует 10 типов людей: те, которые понимают двоичную систему, и те, которые ее не понимаютСуществует 10 типов людей: те, кто понимают троичную систему, те, кто ее не понимают и те, кто путает ее с двоичной
PM MAIL   Вверх
Alexeis
Дата 10.11.2006, 13:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



VTK, в какой момент это происходит?


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Rennigth
Дата 10.11.2006, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(VTK @  10.11.2006,  10:55 Найти цитируемый пост)
Извините за тупость... А какой ответ-то??? 


Цитата(JUmPER @  10.11.2006,  10:51 Найти цитируемый пост)
не совсем понял: переполнение происходит при компиляции?
тогда


VTK, 
Какой вопрос - такой ответ.

Если во время компиляции... 
Build Project пробовал? 



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


Новичок



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

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



Ну попробовал Build Project, но чего-то ничего особенного он мне не сказал...
PM MAIL ICQ   Вверх
Alexeis
Дата 10.11.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(VTK @  10.11.2006,  14:57 Найти цитируемый пост)
alexeis1, переполнение происходит во время создания главной формы проекта.

Тогда нужно пошагово отлаживать, до тех пор пока не будет найдена строка вызывающая исключение...
(поставить бряк, FormCreate и F8 в помощь smile )


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
VTK
Дата 13.11.2006, 09:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Я это уже пробовал, но моего опыта не хватает, чтобы отследить ошибку....
PM MAIL ICQ   Вверх
Alexeis
Дата 13.11.2006, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(VTK @  13.11.2006,  09:25 Найти цитируемый пост)
Я это уже пробовал, но моего опыта не хватает, чтобы отследить ошибку.... 

Ну тогда есть как минимум 3 выхода
1) Продолжать дальше дебажить, до определения места исключения.
2) Выложить тут проект, чтобы мы смогли это сделать самостоятельно.
3) Обратится к экстрасенсу, чтоб он на расстоянии определил где ошибка. smile 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
VTK
Дата 13.11.2006, 10:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Вариантс экстрасенсом явно не подходит!
Вложить сюда проект тоже вряд ли выдет из-за избыточного размера архива.

alexeis1,  послал тебе на мыло, могу выслать всем желающим помочь...
PM MAIL ICQ   Вверх
Alexeis
Дата 13.11.2006, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

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



Цитата(VTK @  13.11.2006,  10:19 Найти цитируемый пост)
  послал тебе на мыло, могу выслать всем желающим помочь... 
 Так экзешник зачем было архивировать, если кто-то будет дебажить, то все равно прийдется компилировать, так что в данном случае он был лишним весом.
------------------------------------------------------------
Выкладываю архив

Присоединённый файл ( Кол-во скачиваний: 4 )
Присоединённый файл  Astra37.zip 535,99 Kb


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
VTK
Дата 14.11.2006, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Путем многочисленных иттераций процесса компиляции выяснилось, что сообщение вылетает во время создания формы на которой расположен объект QReport и QRChart, на том шаге, когда компонентам QReporta присваиваются адреса ячеек памяти....
Если у кого есть мысли, прошу высказываться!
PM MAIL ICQ   Вверх
VTK
Дата 14.11.2006, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Попробовал увеличить размер стека директивой {$M 16384,2147483647}, однако вылезла ошибка "Не в состоянии создать процесс: параметр задан неправильно", но в Drkb черным по белому написано, что максимальный размер стека равен 2147483647 smile 
PM MAIL ICQ   Вверх
Matematik
Дата 14.11.2006, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(VTK @  14.11.2006,  15:25 Найти цитируемый пост)
Попробовал увеличить размер стека директивой {$M 16384,2147483647}, однако вылезла ошибка "Не в состоянии создать процесс: параметр задан неправильно", но в Drkb черным по белому написано, что максимальный размер стека равен 2147483647

Больную голову лечишь топором 
smile
Лучше бы искал кто стек переполняет.
PM MAIL WWW ICQ   Вверх
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   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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