Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.14;
Скачать: CL | DM;

Вниз

Стек переполнен   Найти похожие ветки 

 
kati   (2003-06-19 16:46) [0]

Обьясните пожалуйста, что означает следующее
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EStackOverflow with message "Stack overflow". Process stopped. Use Step or Run to continue.
Как его избежать


 
DevMaster ©   (2003-06-19 16:50) [1]


Что имеенно делает в єтот момент твоя программа???


 
Семен Сорокин ©   (2003-06-19 16:54) [2]

Зацикливается


 
kati   (2003-06-19 16:55) [3]

По нажатию Button запускается длинный цикл.(Кстати при использовании его в событии при открытии все нормально)


 
DevMaster ©   (2003-06-19 16:56) [4]

Выложи сюда код энтого цикла.... щас разберем! :)))


 
kati   (2003-06-19 17:00) [5]

Не судите строго что без коментариев
var p:pointer;
begin
with Query1 do
begin
If active then Close ;
SQL.Clear;
SQL.text:="select sum(km.Kolmen) from "P_K_en.db"km where km.kvartira= :Pip_komsKvartira";
Query1.Params[0].DataType:=ftInteger;
Query1.Params[0].paramType:=ptInput;
open;
close;
prepare;
p:=getbookmark;
disablecontrols;
DBGrid1.DataSource.DataSet:=MD.query1;
DBGrid1.DataSource.DataSet.Active:=true;
MD.pip_Koms.First;
while not MD.pip_Koms.Eof do
begin
MD.KV_koms.Open;
MD.KV_koms.Edit;
MD.pip_Koms.Edit;
MD.pip_Koms.FieldByName("ALL_KVT").Value:=MD.KV_koms.Lookup("KV",MD.pip_Koms.FieldByName("Kvartira").Value,"SALL");
MD.pip_Koms.FieldByName("tekpokaz").Value:=MD.KV_koms.Lookup("KV",MD.pip_Koms.FieldByName("Kvartira").Value,"tekpokaz");
Query1.Params[0].AsInteger := MD.pip_Koms.FieldByName("kvartira").AsInteger;
query1.Open;
// ShowMessage(Fields[0].AsString);
MD.pip_Koms.FieldByName("kolpip").Value:=Fields[0].asInteger;
query1.close;
//begin
MD.pip_Koms.Post;
MD.pip_Koms.Next;
end;
Gotobookmark(p);
enablecontrols;
MD.pip_Koms.open;
MD.pip_Koms.First;
MD.Tar_Km.Open;
MD.Tar_KM.First;
while not MD.pip_Koms.Eof do
begin
if MD.Pip_koms.fieldbyname("lgota").Value>0 then begin
MD.Tar_km.Edit;
MD.pip_Koms.Edit ;
MD.Pip_koms.fieldbyname("nash").Value:=MD.Pip_koms.fieldbyname("ALL_KVT").Value/MD.pip_Koms.FieldByName("kolpip").Value*MD.pip_Koms.FieldByName("kolmen").Value*MD.Tar_KM.fieldbyname("Cvet").Value*(1-MD.Pip_koms.fieldbyname("lgota").Value) ;
MD.Pip_koms.fieldbyname("AllS").Value:=MD.Pip_koms.fieldbyname("nash").Value+MD.Pip_koms.fieldbyname("Korrect").Value ;
end
else begin
MD.Tar_km.Edit;
MD.pip_Koms.Edit ;
MD.Pip_koms.fieldbyname("nash").Value:=MD.Pip_koms.fieldbyname("ALL_KVT").Value/MD.pip_Koms.FieldByName("kolpip").Value*MD.pip_Koms.FieldByName("kolmen").Value*MD.Tar_KM.fieldbyname("Cvet").Value;
MD.Pip_koms.fieldbyname("AllS").Value:=MD.Pip_koms.fieldbyname("nash").Value+MD.Pip_koms.fieldbyname("Korrect").Value ;
end; //


 
DevMaster ©   (2003-06-19 17:06) [6]

Ого......тут на год ...чтобы разобраться....:)))))
попробую раздуплить!!!


 
Семен Сорокин ©   (2003-06-19 17:10) [7]

p:=getbookmark; -при закрытом DataSet"е (Query1)


 
Семен Сорокин ©   (2003-06-19 17:18) [8]

при первом рассмотрении:
Непонятно к чему относился BookMark и EnableControls;

with Query1 do begin
Close;
SQL.Clear;
SQL.text:="select sum(km.Kolmen) from "P_K_en.db"km where km.kvartira= :Pip_komsKvartira";
DBGrid1.DataSource.DataSet:=MD.query1;
DBGrid1.DataSource.DataSet.Active:=true;
MD.pip_Koms.First;
while not MD.pip_Koms.Eof do begin
MD.pip_Koms.Edit;
MD.pip_Koms.FieldByName("ALL_KVT").Value:=MD.KV_koms.Lookup("KV",MD.pip_Koms.FieldByName("Kvartira").Value,"SALL");
MD.pip_Koms.FieldByName("tekpokaz").Value:=MD.KV_koms.Lookup("KV",MD.pip_Koms.FieldByName("Kvartira").Value,"tekpokaz");
Params[0].AsInteger := MD.pip_Koms.FieldByName("kvartira").AsInteger;
Open;
if not Eof then
MD.pip_Koms.FieldByName("kolpip").Value:=Fields[0].asInteger;
Close;
MD.pip_Koms.Post;
MD.pip_Koms.Next;
end;
MD.pip_Koms.First;
MD.Tar_Km.Open;
MD.Tar_KM.First;
while not MD.pip_Koms.Eof do begin
if MD.Pip_koms.fieldbyname("lgota").Value>0 then begin
MD.Tar_km.Edit;
MD.pip_Koms.Edit ;
MD.Pip_koms.fieldbyname("nash").Value:=MD.Pip_koms.fieldbyname("ALL_KVT").Value/MD.pip_Koms.FieldByName("kolpip").Value*MD.pip_Koms.FieldByName("kolmen").Value*MD.Tar_KM.fieldbyname("Cvet").Value*(1-MD.Pip_koms.fieldbyname("lgota").Value) ;
MD.Pip_koms.fieldbyname("AllS").Value:=MD.Pip_koms.fieldbyname("nash").Value+MD.Pip_koms.fieldbyname("Korrect").Value ;
MD.Tar_km.Post;
MD.pip_Koms.Post;
end
else begin
MD.Tar_km.Edit;
MD.pip_Koms.Edit ;
MD.Pip_koms.fieldbyname("nash").Value:=MD.Pip_koms.fieldbyname("ALL_KVT").Value/MD.pip_Koms.FieldByName("kolpip").Value*MD.pip_Koms.FieldByName("kolmen").Value*MD.Tar_KM.fieldbyname("Cvet").Value;
MD.Pip_koms.fieldbyname("AllS").Value:=MD.Pip_koms.fieldbyname("nash").Value+MD.Pip_koms.fieldbyname("Korrect").Value ;
MD.Tar_km.Post;
MD.pip_Koms.Post;
end;
if MD.Pip_koms.fieldbyname("lg_veteran").Value>0 then begin
MD.Tar_km.Edit;
MD.pip_Koms.Edit ;
MD.Pip_koms.fieldbyname("nash").Value:=(MD.Pip_koms.fieldbyname("ALL_KVT").Value/MD.pip_Koms.FieldByName("kolpip").Value*MD.pip_Koms.FieldByName("kolmen").Value*MD.Tar_KM.fieldbyname("Cvet").Value )- (MD.Tar_km.fieldbyname("lg_veteran").Value*MD.Tar_KM.fieldbyname("Cvet").Value*MD.Pip_koms.fieldbyname("lg_veteran").Value);
MD.Pip_koms.fieldbyname("AllS").Value:=MD.Pip_koms.fieldbyname("nash").Value+MD.Pip_koms.fieldbyname("Korrect").Value ;
MD.Tar_km.Post;
MD.pip_Koms.Post;
end;
MD.pip_Koms.next;
MD.Tar_km.next;
end;
end;


 
Sandman25 ©   (2003-06-19 17:20) [9]

В 11 строке происходит Open до того, как установлено значение параметра.


 
Johnmen ©   (2003-06-19 17:50) [10]

Переполнение стека <- бесконечный рекурсивный вызов.
Смотри, где обработка к.-л. события приводит к возбуждению др. события, а оно в свою очередь - к возбуждению первого...



Страницы: 1 вся ветка

Текущий архив: 2003.07.14;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.016 c
14-44899
Shaman
2003-06-27 16:45
2003.07.14
Фильм


1-44668
denis24
2003-07-01 18:31
2003.07.14
как обращаться к закладкам в вордовом докум?


1-44679
INTAARI
2003-06-30 11:48
2003.07.14
Как исправить ошибки при подсчете контрольной суммы XOR


6-44782
zom
2003-05-07 13:17
2003.07.14
Обращение к сетевому ресурсу Как отловить такое событие в виндах?


3-44574
mikeee
2003-06-18 15:47
2003.07.14
Подскажите по InstallShield Express