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

Вниз

Stack overflow - save your work and restart Delphi   Найти похожие ветки 

 
boband   (2004-08-04 00:57) [0]

Доброго времени суток! Помогите плиз!
Создал я свой компонент (производный от TCustomControl, а внутри еще и TEdit). На отладочном варианте все работает как надо...
После того как добавил я этот компонент в IDE появилась проблема, заключающаяся в постоянном выскакивании ошибки (см. сабж). Я отловил два постянных действия при которых появляется ошибка:
1. Компонент положили на форму и попытались в ObjectInspector перейти на закладку Events...
2. Компонент положили на форму и попытались Build Project
3. Компонент положили на форму и просто попытались сохранить проект - Delphi ваще вылетает без всяких сообщений.
Если кто чего знает поделитесь плиз!!!

P.S. Знаю я что Stack overflow почти всегда возникает из-за рекурсии, но я ее у себя в коде не нашел да и отладочный пример работает...


 
Мастер ©   (2004-08-04 09:15) [1]

Ошибка в 19-й строке.


 
boband   (2004-08-04 09:44) [2]

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:57) [3]

>boband   (04.08.04 09:44) [2]
toMaster: не смешно...

Конечно, не смешно.
Сразу надо код приводить, а не описывать, что он должен делать и не делает.


 
boband   (2004-08-06 19:42) [4]

toMaster: Я конечно могу приводить код...
Но кому интересно выискивать ошибки в чужом коде (тем более он не маленький)? А? Поэтому когда задавал вопрос меня интересовало может кто с чем таким уже сталкивался...


 
Германн ©   (2004-08-08 04:31) [5]

2 boband   (06.08.04 19:42) [4]
>toMaster: Я конечно могу приводить код...
>Но кому интересно выискивать ошибки в чужом коде (тем более он >не маленький)? А? Поэтому когда задавал вопрос меня >интересовало может кто с чем таким уже сталкивался...

Если все еще интересует сталкивался ли кто-то с чем-то подобным, плюнь и забудь. Все сталкивались, лично, и не один раз. И вообще - это норма для программиста, сталкиваться с ошибками при написании любой программы. Но вот внешние проявления этих ошибок бывают как схожими, так и различными. Как при разных ошибках, так и при одинаковых. Увы! Посему без приведения кода - очень мала вероятность получить полезный ответ. Тут на форуме принято относить такие редкие случаи к разряду телепатии. Имхо.



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

Форум: "Компоненты";
Текущий архив: 2005.07.31;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.033 c
14-1120935784
Магнум
2005-07-09 23:03
2005.07.31
Самый лучший коллектив - это...


1-1121247911
IgoX
2005-07-13 13:45
2005.07.31
типы переменных


1-1121072709
new___
2005-07-11 13:05
2005.07.31
Columns в VirtualStringTree


3-1119352825
MS-REM
2005-06-21 15:20
2005.07.31
Как пользоватся комонентом StoredProc


1-1121128966
Барс
2005-07-12 04:42
2005.07.31
Как изменить системное время windows





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский