Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Программирование [игнор отключен] [закрыт для гостей] / C++ Builder, шедевральный компилятор. / 25 сообщений из 31, страница 1 из 2
07.10.2009, 10:44:51
    #36236710
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
Debugger Exception Notification
Project Project.exe raised exception class EAccessViolation with message 'Access violation at address
0044412B in module 'Project.exe'. Write of address 46C253B1. Process stopped. Use Step or Run to
continue.

Выдаёт такую ошибку при запуске. Причём если я меняю у конструктора класса, который выкидывает эту ошибку, protected на private или наоборот, то компилится, но после любых изменений в коде, снова выдаёт такую ошибку, пока не поменяю права доступа снова.
Конструктор пустой

авторParser::Parser()
{
};

Я его вызываю
авторParser* Parser::getInstance(TComponent *Owner, TOraQuery *query, AnsiString fi, TComboBox *docType, bool *bAll, AnsiString *sProdA)
{
if(instance==NULL)
{
instance = new Parser();
instance->owner = Owner;
instance->query = query;
instance->fi = fi;
instance->docType = docType;
}
return instance;
};
Типа синглтон. Почему в программирование а не в С++ запостил? А пусть все посмеются. Что это за пятна на солнце такие влияют? Компилятор C++ Builder.

Сомневаюсь что кто-то мне сможет помочь, так хоть давайте посмеёмся вместе.
...
Рейтинг: 0 / 0
07.10.2009, 11:35:19
    #36236900
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
XDiaBLo, шедевральный программист
ищи ошибку в своём коде, а не в компиляторе, это эффективней и полезней
...
Рейтинг: 0 / 0
07.10.2009, 13:04:04
    #36237190
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
egorychXDiaBLo, шедевральный программист
ищи ошибку в своём коде, а не в компиляторе, это эффективней и полезней
Я в коде и ищу. Но ошибка, которая сразу при запуске программы появляется, а при следующем запуске не появляется, всяко зависит от пятен на солнце. Поищу дальше, как времени побольше свободного появится, сегодня-завтра. В Яве такая фигня у меня никогда бы не появилась
...
Рейтинг: 0 / 0
07.10.2009, 13:13:48
    #36237228
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
XDiaBLoВ Яве такая фигня у меня никогда бы не появилась естественно, ибо ява не работает напрямую с памятью, а у тебя явно какой-то из указателей, который ты в getInstance передаёшь не инициализирован. Особенно мне этот указатель нравится: bool *bAll, он в представленном коде, правда, никак не задействован, но смешной.
...
Рейтинг: 0 / 0
07.10.2009, 13:34:41
    #36237314
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
egorychXDiaBLoВ Яве такая фигня у меня никогда бы не появилась естественно, ибо ява не работает напрямую с памятью, а у тебя явно какой-то из указателей, который ты в getInstance передаёшь не инициализирован. Особенно мне этот указатель нравится: bool *bAll, он в представленном коде, правда, никак не задействован, но смешной.
Я знаю как Ява работает с памятью. А насчёт подсказки спасибо, удалил я bool *bAll, AnsiString *sProdA, мне эти параметры давно передавать не надо, а я и забыл про них. Ведь говорил же себе и другим сто раз:"внимательнее надо быть". Вот я тыквоголовый. Впрочем я этот кусок сделал в июле ещё, ща просто взялся доделать и забыть наконец. Понятно что забыл уже, чего тогда не доделал.
...
Рейтинг: 0 / 0
07.10.2009, 13:36:51
    #36237320
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
egorych,
Про шедевр я написал токмо потому, что меня повергло в изумление, то, как незначительные изменения временно изгоняют ошибку. Но сейчас думаю что это чисто смешная случайность.
...
Рейтинг: 0 / 0
07.10.2009, 14:49:41
    #36237590
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
XDiaBLoнезначительные изменения временно изгоняют ошибкуОни её не изгоняют, на самом деле, они её маскируют, что значительно хуже. Ошибка-то осталась и может проявиться в самый неподходящий момент.
...
Рейтинг: 0 / 0
07.10.2009, 14:53:11
    #36237609
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
egorychXDiaBLoнезначительные изменения временно изгоняют ошибкуОни её не изгоняют, на самом деле, они её маскируют, что значительно хуже. Ошибка-то осталась и может проявиться в самый неподходящий момент.
Уточню, изгоняют сообщение об ошибке.
...
Рейтинг: 0 / 0
07.10.2009, 17:00:17
    #36238035
zloy den
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
Предлагаю сходить со своей success story в какой-нибудь из холиваров про С++
...
Рейтинг: 0 / 0
08.10.2009, 07:00:26
    #36238770
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
zloy denПредлагаю сходить со своей success story в какой-нибудь из холиваров про С++
Не катит, несмотря ни на что, я люблю C++ :)
...
Рейтинг: 0 / 0
08.10.2009, 08:57:25
    #36238873
zloy den
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
XDiaBLozloy denПредлагаю сходить со своей success story в какой-нибудь из холиваров про С++
Не катит, несмотря ни на что, я люблю C++ :)

Язык с++ позволяет вам выстрелить себе в ногу даже когда вы совсем не хотите этого делать
З.ы. я просто не отличаюсь большой внимательностью, поэтому каждый раз высматривать где же я накосячил не самое приятное занятие (мазохизмом попахивает)
...
Рейтинг: 0 / 0
08.10.2009, 09:18:50
    #36238908
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
zloy den
Язык с++ позволяет вам выстрелить себе в ногу даже когда вы совсем не хотите этого делать
З.ы. я просто не отличаюсь большой внимательностью, поэтому каждый раз высматривать где же я накосячил не самое приятное занятие (мазохизмом попахивает)
Да я бы и не косячил, если бы мне давали довести дело до конца. Но помимо программирования, я ещё занимаюсь отчётами, запросами, и тому подобным, и ко мне часто звонят по всяким вопросам. Сконцентрироваться и не выпустить чего-то из головы, бывает крайне сложно.
...
Рейтинг: 0 / 0
09.10.2009, 20:53:16
    #36243166
Lepsik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
XDiaBLoDebugger Exception Notification
Project Project.exe raised exception class EAccessViolation with message 'Access violation at address
0044412B in module 'Project.exe'. Write of address 46C253B1. Process stopped. Use Step or Run to
continue.
.

причин много - ворованный диск, кривые компоненты взятые неизвестно где.
...
Рейтинг: 0 / 0
10.10.2009, 00:40:14
    #36243442
C++ Builder, шедевральный компилятор.
XDiaBLozloy den
Язык с++ позволяет вам выстрелить себе в ногу даже когда вы совсем не хотите этого делать
З.ы. я просто не отличаюсь большой внимательностью, поэтому каждый раз высматривать где же я накосячил не самое приятное занятие (мазохизмом попахивает)
Да я бы и не косячил, если бы мне давали довести дело до конца. Но помимо программирования, я ещё занимаюсь отчётами, запросами, и тому подобным, и ко мне часто звонят по всяким вопросам. Сконцентрироваться и не выпустить чего-то из головы, бывает крайне сложно.

Вот мы и вывели на чистую воду ламера-эникейщика.
...
Рейтинг: 0 / 0
15.10.2009, 13:33:46
    #36253022
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
Долбоа надо знать в лицоXDiaBLozloy den
Язык с++ позволяет вам выстрелить себе в ногу даже когда вы совсем не хотите этого делать
З.ы. я просто не отличаюсь большой внимательностью, поэтому каждый раз высматривать где же я накосячил не самое приятное занятие (мазохизмом попахивает)
Да я бы и не косячил, если бы мне давали довести дело до конца. Но помимо программирования, я ещё занимаюсь отчётами, запросами, и тому подобным, и ко мне часто звонят по всяким вопросам. Сконцентрироваться и не выпустить чего-то из головы, бывает крайне сложно.

Вот мы и вывели на чистую воду ламера-эникейщика.
Вы ламер-эникейщик? Смотрите не утоните, в своей чистой воде.
...
Рейтинг: 0 / 0
15.10.2009, 13:35:16
    #36253031
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
Ошибка то кстати не исчезла. Делаю синглтон по всем канонам ГОФ, но пока конструктор не сделаю private, выскакивает ошибка. А по канонам конструктор должен быть protected o_O.
...
Рейтинг: 0 / 0
15.10.2009, 13:37:49
    #36253047
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
LepsikXDiaBLoDebugger Exception Notification
Project Project.exe raised exception class EAccessViolation with message 'Access violation at address
0044412B in module 'Project.exe'. Write of address 46C253B1. Process stopped. Use Step or Run to
continue.
.
причин много - ворованный диск, кривые компоненты взятые неизвестно где.
Какой нафик ворованный диск? И я компоненты не тырю. Я всё сам пишу, стандартных компонентов хватает. Не считая компонента по доступу к БД.
...
Рейтинг: 0 / 0
15.10.2009, 14:10:49
    #36253202
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
XDiaBLoОшибка то кстати не исчезла. Делаю синглтон по всем канонам ГОФ, но пока конструктор не сделаю private, выскакивает ошибка. А по канонам конструктор должен быть protected o_O.тот-же самый access violation? имхо, он не связан с областью видимости конструктора, он связан с неправильным указателем. ты копаешь не в ту сторону, проверяй указатели, которые передаёшь в функцию конструирования.
да, и зачем тебе protected-конструктор? ты будешь от него чего-то наследовать? у Скота Майерса, кстати, имхо, синглетон лучше описан, в его "Эффективном использовании С++"
...
Рейтинг: 0 / 0
15.10.2009, 14:17:27
    #36253228
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
egorychXDiaBLoОшибка то кстати не исчезла. Делаю синглтон по всем канонам ГОФ, но пока конструктор не сделаю private, выскакивает ошибка. А по канонам конструктор должен быть protected o_O.тот-же самый access violation? имхо, он не связан с областью видимости конструктора, он связан с неправильным указателем. ты копаешь не в ту сторону, проверяй указатели, которые передаёшь в функцию конструирования.
да, и зачем тебе protected-конструктор? ты будешь от него чего-то наследовать? у Скота Майерса, кстати, имхо, синглетон лучше описан, в его "Эффективном использовании С++"
Да, та самая ошибка.
Код: plaintext
1.
2.
Parser::Parser()
{
};
Проверяйте. Какие ошибки в этом коде? Кстати только что сменил обратно на protected, ошибки снова нет.
Ща гляну что там у Скотта Мейерса.
...
Рейтинг: 0 / 0
15.10.2009, 14:22:51
    #36253243
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
Ммм, не могу найти такой главы.
...
Рейтинг: 0 / 0
15.10.2009, 15:06:46
    #36253393
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
XDiaBLoТипа синглтон. Почему в программирование а не в С++ запостил? А пусть все посмеются. Что это за пятна на солнце такие влияют? Компилятор C++ Builder.
Шаблон, который ты здесь нарисовал не является синглтоном хотя-бы потому, что имеет параметризированный способ получения instance. Скорее всего ты пытался создать фабрику .

P.S. Я надеюсь ты делаешь тесты в debug-mode? Язык С++ - это гоночная машина без ремней безопасности. Помни об этом.
...
Рейтинг: 0 / 0
15.10.2009, 15:33:27
    #36253459
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
maytonXDiaBLoТипа синглтон. Почему в программирование а не в С++ запостил? А пусть все посмеются. Что это за пятна на солнце такие влияют? Компилятор C++ Builder.
Шаблон, который ты здесь нарисовал не является синглтоном хотя-бы потому, что имеет параметризированный способ получения instance. Скорее всего ты пытался создать фабрику .

P.S. Я надеюсь ты делаешь тесты в debug-mode? Язык С++ - это гоночная машина без ремней безопасности. Помни об этом.
А что, параметры нарушают кошерность шаблона?

Тестирую конечно в дебаг-режиме, но информация об ошибке недостаточна, чтобы можно было понять причины :(
...
Рейтинг: 0 / 0
15.10.2009, 15:38:25
    #36253472
XDiaBLo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
Какая уж тут фабрика, если мне нужен именно чтобы был один экземпляр класса, но ему требуются параметры для инициализации. Ведь изначально признаки синглтона, это невозможность создать более одного экземпляра, а есть там параметры или нет, это уже к шаблону отношение имеет совсем никакое.
...
Рейтинг: 0 / 0
15.10.2009, 15:45:32
    #36253508
mayton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
XDiaBLoА что, параметры нарушают кошерность шаблона?
Не знаю. Поинтересуйся у "банды четырёх".
...
Рейтинг: 0 / 0
15.10.2009, 15:49:07
    #36253526
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
C++ Builder, шедевральный компилятор.
сделай вот что:
Код: plaintext
1.
2.
3.
4.
Parser::Parser() 
{
  int i =  0 ;
  i++;  //  поставь здесь точку прерывания, и ты увидишь, в какой момент у тебя возникает av
}
это перспективнее, чем искать проблему в области доступности конструктора
...
Рейтинг: 0 / 0
Форумы / Программирование [игнор отключен] [закрыт для гостей] / C++ Builder, шедевральный компилятор. / 25 сообщений из 31, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]