![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Stack overflow - save your work and restart Delphi [D6, D7, NT4, Win2k, WinXP]
boband © (2004-08-04 00:57:00)Доброго времени суток! Помогите плиз!
Создал я свой компонент (производный от TCustomControl, а внутри еще и TEdit). На отладочном варианте все работает как надо...
После того как добавил я этот компонент в IDE появилась проблема, заключающаяся в постоянном выскакивании ошибки (см. сабж). Я отловил два постянных действия при которых появляется ошибка:
1. Компонент положили на форму и попытались в ObjectInspector перейти на закладку Events...
2. Компонент положили на форму и попытались Build Project
3. Компонент положили на форму и просто попытались сохранить проект - Delphi ваще вылетает без всяких сообщений.
Если кто чего знает поделитесь плиз!!!
P.S. Знаю я что Stack overflow почти всегда возникает из-за рекурсии, но я ее у себя в коде не нашел да и отладочный пример работает...
Германн (2004-08-08 04:31:00) [1]2 boband (06.08.04 19:42) [4]
>toMaster: Я конечно могу приводить код...
>Но кому интересно выискивать ошибки в чужом коде (тем более он >не маленький)? А? Поэтому когда задавал вопрос меня >интересовало может кто с чем таким уже сталкивался...
Если все еще интересует сталкивался ли кто-то с чем-то подобным, плюнь и забудь. Всесталкивались, лично, и не один раз. И вообще - это норма для программиста, сталкиваться с ошибкамипри написании любой программы. Но вот внешние проявления этих ошибок бывают как схожими, так и различными. Как при разных ошибках, так и при одинаковых. Увы! Посему без приведения кода - очень мала вероятность получить полезный ответ. Тут на форуме принято относить такие редкие случаи к разряду телепатии. Имхо.
boband (2004-08-06 19:42:00) [2]toMaster: Я конечно могу приводить код...
Но кому интересно выискивать ошибки в чужом коде (тем более он не маленький)? А? Поэтому когда задавал вопрос меня интересовало может кто с чем таким уже сталкивался...
Мастер (2004-08-04 09:57:00) [3]>boband (04.08.04 09:44) [2]
toMaster: не смешно...
Конечно, не смешно.
Сразу надо код приводить, а не описывать, что он должен делать и не делает.
boband (2004-08-04 09:44:00) [4]toMaster: не смешно...
А ошибка все-таки была в рекурсии :). Отлаживайте код на свежую голову - с утра поэксперементировал и нашел вот такую пургу:
TMyEdit = class(TCustomControl)
private
FEdit:TEdit;
...
published
property OnChange: TNotifyEvent read GetOnChange write SetOnChange;
...
function TRoundEdit.GetOnChange: TNotifyEvent;
begin
GetOnChange:=OnChange;// <-Ошибка возникает рекурсия!!!
//Надо
//GetOnChange:=FEdit.OnChange;
end;
Вот так вот. Прошу прощения кого отвлек.
Мастер (2004-08-04 09:15:00) [5]Ошибка в 19-й строке.