Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: [HELP] BCB5, Создание формы: EAccessViolation in VCL  (Прочитано 13287 раз)
0 Пользователей и 1 Гость смотрят эту тему.
baranov.eu
Интересующийся

lv
Offline Offline

« : 10-02-2009 12:14 » 

Итак, курицца очередная проблемка:

При создании формы возникает ексепшн "Access violation at address BLA-BLA in module 'VCL50.BPL'" - полную картинку см во вложении.

последний соурс, который вижу:
forms.hpp:937
Код:
/* TCustomForm.CreateNew */ inline __fastcall virtual TForm(Classes::TComponent* AOwner, int Dummy)
: TCustomForm(AOwner, Dummy) { }

Тоесть все падает при создании TCustomForm.

BCB5-Exception-ASM.JPG - это то чт мне выводит собственно дебуггер, место где генерится эксепшн.

что делать, как исправить?



* BCB5-Exception-Warning.JPG (19.88 Кб - загружено 877 раз.)
* BCB5-Exception-ASM.JPG (108.49 Кб - загружено 866 раз.)
Записан
Алексей++
глобальный и пушистый
Глобальный модератор

ru
Offline Offline
Сообщений: 13


« Ответ #1 : 10-02-2009 12:49 » 

inline и virtual разве могут одновременно присутствовать ?
Записан

baranov.eu
Интересующийся

lv
Offline Offline

« Ответ #2 : 10-02-2009 13:02 » 

Честно говоря ХЗ. но это автогенерированный файл....

Код:
// Borland C++ Builder
// Copyright (c) 1995, 1999 by Borland International
// All rights reserved

// (DO NOT EDIT: machine generated header) 'Forms.pas' rev: 5.00


inline и virtual разве могут одновременно присутствовать ?

Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #3 : 10-02-2009 13:07 » new

Что-то очень-очень знакомое...
Честно говоря ХЗ. но это автогенерированный файл....
"Мёртвые не ошибаются". В смысле, вряд ли это сгенерированный код виноват. Думаю, дело в своём коде или способе создания формы. То есть, в том месте, которого мы не видим Улыбаюсь
Записан
baranov.eu
Интересующийся

lv
Offline Offline

« Ответ #4 : 10-02-2009 13:13 » 

Мне б какого дебаг гуру выслушать Улыбаюсь я нифига не понимаю, что этот дебаггер выдает.
в какую сторону копать то надо?

мне показалось, что просто какое-то свойство формы не так описано (в dfm файле), но на вид все ОК.

у меня там скрин с дампом, кто-нибудь может сказать, на что он мне намекает?

Записан
Вад
Модератор

ru
Offline Offline
Пол: Мужской

« Ответ #5 : 10-02-2009 13:33 » 

Мне кажется, форма как-то не так создаётся. Например, какая-нибудь функция предка не вызывается, из переопределённой в потомке, хотя должна.
Записан
baranov.eu
Интересующийся

lv
Offline Offline

« Ответ #6 : 11-02-2009 14:13 » 

не-не-не!!!!
 Врешь!

как и водицца в билдере, злом и замысловатом ошибка была совершенно в другом месте.

а именно некорректно работал vsprintf в
Код:
file.cpp:121
int TFile::Write(char* aMessage,...)
{
......
vsprintf(Buffer, aMessage,arg_marker);
......
}

переделал с TFile на FileOpen/Close все нормально стало. Как вычислил? плюнул и пошел ко вторй части багрепорта, там ошибка другая была... (access violation in CC3250MT.dll). По ней нашел.

вот так.  Не понял

спасибо всем!
 Целую

Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines