Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.07.14;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.007 c
1-44644
NAlexey
2003-07-01 11:15
2003.07.14
Ошибка записи в поток.


14-44883
Dmitriy O.
2003-06-23 08:25
2003.07.14
---|Ветка была без названия|---


1-44717
BillyJeans
2003-06-23 11:47
2003.07.14
Как нажатием на кнопку прервать программный цикл?


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


1-44726
Rawman
2003-07-01 10:37
2003.07.14
PopUp в TMemo





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский