Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.012 c
14-44802
Zelius
2003-06-25 21:31
2003.07.14
Пропали Хинты в Delphi и во всех моих прогах :(


1-44740
Луарвик
2003-07-01 13:38
2003.07.14
.dll =>


1-44742
hawkins
2003-07-01 14:27
2003.07.14
не удается из программы изменить размер листа у TQuickRep


3-44594
Валентина_
2003-06-21 09:41
2003.07.14
Немецкий в Delphi


8-44774
msgipss
2003-03-26 17:51
2003.07.14
Как из TBitmap сохранить картинку в .gif формате с прозрачным фон




   Наверх