Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
1

Ошибка при создании новой компоненты (External exception eefface + code 87)

24.09.2015, 23:41. Показов 1354. Ответов 4
Метки нет (Все метки)

Никогда не создавал компоненты. Но вот пришлось, и не удачно... Видимо, из-за неправильного конструктора
Класс компоненты в HDump.h, реализация в HDump.cpp.
Буду очень признателен за помощь...
Вложения
Тип файла: 7z hexeditor.7z (487.1 Кб, 3 просмотров)
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.09.2015, 23:41
Ответы с готовыми решениями:

External exception EEFFACE при открытие файла в браузере
Подскажите плиз, первый раз сохранение и открытие отрабатывает, на второй раз ошибка, все виснет,...

External exception EEFFACE
Доброго вечера, ребята - кто может объяснить из - за чего бывает ошибка External exception EEFFACE...

External exception EEFFACE
Доброго времени суток. У меня такая проблемка, установил недавно Rad Studio 2010 (Delphi), начал...

External exception EEFFACE из за ShellExecute
не могу найти альтернативу запуска любого обьекта из приложения,в данном случае проект...

4
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31243 / 20423 / 7960
Регистрация: 22.10.2011
Сообщений: 35,452
Записей в блоге: 6
25.09.2015, 00:19 2
Aleator, для начала все exit-ы на return-ы поменяй, потом дальше поговорим Это совсем не одно и то же...

Добавлено через 17 минут
Да, и от циклов типа
C++
1
2
    for (i = 0; (hdEndAdr / 8); i++) {
        CompareBuffer[i] = 255;
избавиться было бы очень неплохо. Потому что этот цикл - вечный, условие окончания не выполняется, и вылет за границы массива обеспечен (этот цикл есть в HideMismatch)
1
102 / 87 / 17
Регистрация: 04.05.2011
Сообщений: 1,330
25.09.2015, 02:36  [ТС] 3
volvo, Вы правы. Работы там ещё выше крыши. Но у меня не создавался сам компонент (о его корректной работе речь не шла) и форма. Ошибка возникает при запуске программы. Даже форма не выводится... Может не в циклах дело (на этом этапе). Может всё таки конструктор?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31243 / 20423 / 7960
Регистрация: 22.10.2011
Сообщений: 35,452
Записей в блоге: 6
25.09.2015, 09:51 4
Цитата Сообщение от Aleator Посмотреть сообщение
Но у меня не создавался сам компонент
Разумеется, ведь при попытке установить Capacity (то есть, при вызове метода SetEndAdr), вызывается тот самый HideMismatch(), в котором вылетающий за пределы массива цикл. И что должно произойти? Конечно, программа вылетает.

А можно посмотреть на дельфийский код этого компонента?
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
31243 / 20423 / 7960
Регистрация: 22.10.2011
Сообщений: 35,452
Записей в блоге: 6
25.09.2015, 10:48 5
Лучший ответ Сообщение было отмечено BRcr как решение

Решение

Так. Значит, делаешь 3 шага:
1.
C++
1
2
__fastcall virtual THexDump(TComponent* Owner); // ВИРТУАЛЬНЫЙ конструктор
__fastcall virtual ~THexDump(void); // ВИРТУАЛЬНЫЙ деструктор
несмотря на то, что можно пропускать слово virtual - не нужно этого делать. Дисциплинирует.
2. Метод CreateParams переписываешь:
C++
1
2
3
4
void __fastcall THexDump::CreateParams(TCreateParams &Params) {
  TCustomControl::CreateParams(Params); // сначала вызывается inherited, только потом - собственные действия
  Params.Style |= WS_CLIPCHILDREN; // вот именно так, а не то, что у тебя было.
}
3. Комментируешь временно (пока не исправишь все циклы) назначение Capacity в OnCreate формы.

Пересобираешь проект, запускаешь:
Миниатюры
Ошибка при создании новой компоненты (External exception eefface + code 87)  
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.09.2015, 10:48

ошибка "external exception eefface"
Здравствуйте! Пишу программу на С++ builder (Embarcadero XE2) при компиляции вылетает ошибка...

"External exeption EEFFACE" при попытке выделить большой объем памяти
Добрый день. Мне надо выделить очень много памяти, под массив и двумерный массив. Но если указать...

Ошибка при создании новой формы
Здравствуйте. У меня вопрос может не по теме. Просто работаю с БД при создании новой формы вот ...

ошибка "external exception C0000025" при закрытии формы Form1->Close();
Кто знает почему при закрытии формы выбивает эту ошибку: external exception C0000025 ???? Буду...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.