Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Borland C++ Builder (все версии) -- ошибки, баги и глюки

Автор: reddestfox
Дата сообщения: 20.02.2006 00:21
Кроме С++ 6 у меня стоит IB 7. Больше ничего ТАКОГО -- офис, зип, рар, АСД и пр. ОСь -- MSWinXPProSP2.rus. Система -- MB: asus p4c800 Deluxe (I875); Проц. Р4 3,0 NW HT; память двухканальная 2*256 DDR 3200 Kingston, HDD, видеоадаптер, DVD-ROM, CD-RW, FDD...
Система разогнана (FSB, память, напряжения). Периодически -- явных зависимостей и закономерностей появления ошибки нет -- появляется ошибка от Билдера с заголовком bcb.exe вида "An Exeption (00000005) occured during DllEntryPoint or DllMain In Module c:\program files\borland\cbuilder6\Bin\idefilters60.bpl" ИМЕННО ПРИ ЗАКРЫТИИ Билдера. Единственная кнопка -- "ОК". Нажимаю. Дальше подобное диалоговое окно уже от Винды об исключении (подробно приводить не буду). Тут уже две кнопки -- ОК и Отменить. Если нажимаем ОК (это тупиковая ветка) вылезает сообщение с заголовком "Error" об ошибке "Runtime Error 216 at 40009009" и дальше по кругу -- сообщение Винды и т.д. Если же в ошибке Винды нажмём Отмена -- вылазит отладчик Билдера с инфой о том, какие команды процессора вызвали эту ошибку. Поскольку в Ассемблере я не силён -- делаю Terminate. На этом конец -- до следующего раза...
Раньше такого не было. Изменений в ОСи, разгоне и софте не было. Изменения в HW:
1) материнку поменял на фирме по гарантии на аналогичную -- та приказала долго жить -- исправна, только из 8 USB портов не работают два.
2) поменял БП на 450 Вт и видеоадаптер новый (тоже разогнанный -- конвейера + частоты) AGP Albatron GF6800LE. Раньше был Sparkle GF 5600.
Больше изменений не было.
Я понимаю -- довольно сложно определить причину сбоя (как мне кажется).
Но, может у кого уже были аналогичные проблемы?
Просим поделиться опытом.
Автор: royt
Дата сообщения: 31.03.2006 06:55
idefilters60.bpl - это package "IDE Filter for CPP32", т.е. штатный компонент. Помнится вылезала когда-то такая же беда... Судя по номеру билда (10.161) у тебя стоит только "Update 1".

Сам сейчас имею установленный BCB 6 со всеми патчами:
1. BCB 6.0 Enterprise Update 4 (=build 10.166)
2. BCB 6.0 Enterprise ilink patch (v.5.66)
Номер билда после установки всех патчей - 10.166. Точнее, он таким становится после установки Update 4), так что в первую очередь попробовал бы поставить этот Update 4.

На всякий случай замечу: Update 4 - "кумулятивный", т.е. включает "Update 1". Поэтому при новой установке BCB6 лучше ставить сразу Update 4.
Автор: reddestfox
Дата сообщения: 01.04.2006 07:30
royt!
Спасибо за инфо.
Я думал -- никто уже не ответит...
Я на оф. сайте Borland был -- ни хрена апдейтов на 6 не нашёл, только на 2006.
Подскажи, пожалуйста, где твои апдейты скачать можно.
Заранее благодарствую...
Автор: reddestfox
Дата сообщения: 22.04.2006 21:18
Немного не в тему.
В сабжике замечен такой глюк: на панелях инструментов Standard и Additional, начиная с определённой кнопки, идёт дубляж подряд, то есть на этих панелях некоторых кнопок по ДВЕ. Заметил и дома и на работе. Ничего ТАКОГО не делал.
Сегодня дома этот глюк исчез -- теперь всё нормально. Каждой кнопке по одной, как и положено. В понедельник проверю на работе.
Прикол.
У кого-то, может это уже было.
Хотелось бы в причинах разобраться.
Автор: reddestfox
Дата сообщения: 25.04.2006 19:09
Причина глюка, описанного в предыдущем посте, выяснена.
Если в настройках проекта: строка меню, Tools, Environment Options, вкладка Preferences в секторе Autosave Options поставить галочки напротив Editor Files, Project Desktop, этот самый глюк (на панелях инструментов Standard и Additional, начиная с определённой кнопки, идёт дубляж подряд, то есть на этих панелях некоторых кнопок по ДВЕ) и наблюдается.
Чего, естественно, быть не должно.
Баг разработчиков.
Напомню, что у меня версия 6-10.161.
Интересно, в более поздних версиях баг этот исправлен разработчиками или нет?
Автор: royt
Дата сообщения: 26.04.2006 09:48
Borland C++Builder 6.0 Enterprise Update 4 (=build 10.166) лежит например здесь:
_http://rxlib.ru/arh/Comp/BCB6_ENT_Update_4.exe (_http://rxlib.ru/Downl/Downl.htm)
_ftp://ftpd.borland.com/devsupport/cbuilder/cb6/bcb6_eng_ent_upd4.exe
_http://altd.borland.com/devsupport/cbuilder/cb6/bcb6_eng_ent_upd4.exe

еще стоит поставить "Borland C++Builder 6.0 Enterprise ilink patch (v.5.66)" - состоит из двух файлов:
ilink32.dll 331264 byte
ilink32.exe 337408 byte (этот при запуске должен выдавать: Turbo Incremental Link 5.66 ...)
_http://community.borland.com/cgi-bin/surveys/thanx.cgi?cb6reg_updates_down

ps. давно меня тут не было, извини не мог ответить
Автор: reddestfox
Дата сообщения: 26.04.2006 18:55
royt
Привет! Рад видеть тебя снова!
Спасибо за инфу.
Но пробовал ли ты в настройках проекта: строка меню, Tools, Environment Options, вкладка Preferences в секторе Autosave Options поставить галочки напротив Editor Files, Project Desktop? Если да, то появляется ли описанный в моём прошлом посте глюк с дублированием некоторых кнопок?
Может ещё какие баги находил?
Если не лень -- напиши, ведь тема, как видишь, уже переименована на более общую и посвящена багам Билдера.
Автор: DOE_JOHN
Дата сообщения: 28.04.2006 11:50
Есть вопрос. Поставил Borland C++ Builder 6, если дальше версия принципиальна уточню. Задача что бы он корректно работал под пользователем. Прописал пути output в папку куда пользователи могут писать. Проверил, работает и компилит. Потом сделал image Ghostом. Появилась собственно проблема на сосстановленных образах. При компиляции из под пользователя выдает ошибку

Цитата:

Assertion failed: res File, file c:\src\ilinc\pkgres.c, line 279

И после этого закрывается с предложением отправить отчет.
Есть ли вообще рекомендации как подготавливать образ с windows+builderC++ для работы из под пользователя и растаскивания образа на разные машины. Интересуют именно настройки Builderа.

Добавлено
Версия 6.0 build 10.155 хотя думаю это не принципиально. Потому что все работает если дать пользователю права админа. Значит он пытается куда то что то писать, куда нельзя. Есть Гуру которые помогут. Вышеуказнного пути нет.
Автор: dyr farot
Дата сообщения: 28.04.2006 15:52
пути быть и не долджно -- он только на компе разработчиков есть (это ASSERT сработал)
единственное что понятно -- что-то не нравится линкеру
решение: взять FileMon и посмотреть куда он пытается лезть -- тогда и понятно будет что делать/открывать
Автор: ferym
Дата сообщения: 29.04.2006 09:47
Всем доброго времени суток. Решил вот обратиться сюда с недавно возникшей проблемой.
Поставил C++Builder version 6.0 (Build 10.161), поставил всё как полагается, но при первом же запуске выдаёт ошибку "Stream read error."
Начинаю разбираться, через help выясняется, что это проблема в used by the IDE to store settings, for example, .dsk .dro .dct and/or especially .dmt files. Нахожу в установочной папке файл bcb.dro и для интереса вырезаю его, билдер грузится, причём всё хорошо, всё как обычно, но при компиляции выдаёт глупые ошибки типа, что такое 'cout', 'FILE *f' и т.п., т.е. спрашивает там где не должен, причём все библиотеки подключены и программа отлажена на 100%.
Устанавливаю на ноут с Pentium-M, а раньше этот же дистриб (на десктопе P-4) ставился и функционировал без проблем.
Вопрос: 1) что это за файлы с вышеуказанным расширением?
2) может это быть как-то связано с установкой на ноуте, а именно с процессором?
3) как избавиться от ошибки в целом&

P.S.: Переустанавливал неоднократно, ставил updat'ы, не помогает.
Автор: TuMOXA123
Дата сообщения: 30.04.2006 16:56
Сотри их нафиг или перемести в другую папку потом сделай
del *.obj
del *.~*
del *.tds
del *.cgl
del *.dsk - этот сохраняет какие формочки открыты и как расположены и т.д.

потом сделай build all

[qoute] что такое 'cout', 'FILE *f' и т.п [/qoute]

ты stdio подключил ? (#include <stdio>) ты уверен, что первой ошибкой не выскакивает "не могу найти stdio" ? ты уверен, что не мудрил в настройках с путями ?

сильно сомневаюсь, что это связано с процессором. Если комп, конечно, не глючит, а стабильно работает и ты это тестировал
Автор: ferym
Дата сообщения: 01.05.2006 15:55
[qoute] Сотри их нафиг или перемести в другую папку потом сделай
del *.obj
del *.~*
del *.tds
del *.cgl
del *.dsk - этот сохраняет какие формочки открыты и как расположены и т.д. [/qoute]

Не понял, что удалять, что в другую папку, пожалуйста можно по подробней.
Stdio подключил, всё подключил.
Почему когда ставил на десктоп, всё работало и не нужно юыло ничего додумывать, всё было как в plug&play, а щас что-то нужно удалять, переделывать. ХЗ.
Автор: TuMOXA123
Дата сообщения: 01.05.2006 16:52
То, что del, всегда можно безболезненно удалять - эти файлы создаются при компиляции. Я даже себе bat файл завёл соответствующий.

.dro .dct .dmt (НО НЕ dfm !) попробуй переместить в другую папку. Перемещать для того, чтобы если что можно было бы вернуть обратно

а если просто создать новый проект, включить в него stdio и попробовать обявить FILE *f; ? Будет ошибка ?

непонятки с FILE *f; это первое сообщение обшибке ? запости дословно первое.
Автор: ferym
Дата сообщения: 01.05.2006 21:22
Удалил файлы, ничего не изменилось.
Короче беру самый простой пример:
#include <iostream.h>
int main ()
{
int i;
cout << "Введите число\n";
cin >> i;
cout << "Вы ввели число << i <<";
return 0;
}

При компиляции выдаёт Undefined symbol 'cout'
Undefined symbol 'cin'
Что ему надо?
Автор: TuMOXA123
Дата сообщения: 01.05.2006 22:15
попробуй
#include <iostream>
using namespace std;

хотя у меня твой пример с #include <iostream.h> работает.
Автор: ferym
Дата сообщения: 01.05.2006 23:30
естественно будет работать, разницы нет, что .h, что без.
Автор: reddestfox
Дата сообщения: 01.05.2006 23:48
ferym
Я в этом плохо соображаю...

Цитата:
выдаёт ошибку "Stream read error."


Цитата:
#include <iostream.h>


Цитата:
При компиляции выдаёт Undefined symbol 'cout'
Undefined symbol 'cin'

А у тебя физически присутствует header-файл iostream.h по адресу C:\Program Files\Borland\CBuilder6\Include?
Если да -- попробуй его открыть и изменить (предварительно, на всякий, сделав резервную копию), сохранить -- короче, побаловаться с ним. И с другими заголовочными файлами.
Такое у меня создаётся впечатление, что система не может получить доступ даже для чтения к iostream.h. Вот и не понимает, что такое 'cout' и 'cin'. Они ведь описаны в iostream.h.
Может ты побаловался с настройками доступа к отдельным папкам и файлам и запретил доступ -- вот и Билдер не может прочитать содержимое iostream.h.
Если я прав -- зайди в свойства диска, на котором у тебя Бильдер установлен и дай всему диску полный доступ для всех, а потом уже экспериментируй дальше.
А если я не прав...
Больше пока мыслей у меня на этот счёт нет. Пока что.
Автор: TuMOXA123
Дата сообщения: 02.05.2006 00:03
Разница есть. Если написать
#include <iostream>
без using namespace std; у меня ругается также как и у тебя
Автор: reddestfox
Дата сообщения: 02.05.2006 00:14
TuMOXA123
Я пишу всегда просто #include <iostream.h> -- и 100% работает. По моемУ мнению -- Бильдер по каким-то причинам (наверно, проблемы с доступом -- см. мой пред. пост) не может прочитать iostream.h.
Оффтопик.
TuMOXA123
А какая разница между #include <iostream.h> и #include <iostream>
using namespace std?
Автор: TuMOXA123
Дата сообщения: 02.05.2006 00:23
Если бы он не мог подцепить iostream.h он бы так и написал. Попробуй включить iostrim_666.h

#include <iostream>
using namespace std;

Это соответсвует стандарту. В любом случае, если не работает #include <iostream.h> можно попробовать. Может где в проекте выставлена птичка "блюсти стандарт"
Автор: ferym
Дата сообщения: 02.05.2006 22:52
Вобщем ладно, спасибо за советы, проблема решилась, причём самым простым способом - взял нормальный дистриб и установил, вроде всё встало. А тот просто "зашифтделил" чтоб не повадно было. =)
Автор: reddestfox
Дата сообщения: 04.05.2006 00:38
ferym

Цитата:
Вобщем ладно

Ну, ладно, так ладно...
Я рад, что твоя проблема решена.
Да!
Я тоже по другим прогам несколько раз сталкивался не с теми дистрибами (в варезном смысле).
И кряки поэтому не работали...
Автор: mariczzz
Дата сообщения: 12.05.2006 23:14
Столкнулся с похожей фигней.

Перетащил проект с шестой на пятую (не спрашивайте зачем, просто действительно надо было). Особых заморочек не было, в файлах форм немного подредактировать... Но фишка не в этом. Вроде все компилиться, но при создании одной из форм вываливает:

"Project FOO.exe raised exception class EAccessViolation with message 'Access violation at address 4003BBE7 in moduleVCL50.BPL'. Read of address 00000020'. Process stoped Use Step or Run to continue."

Пошагово дошел до карты сообщений. Причем WM_CREATE, WM_SIZE и WM_MOVE обрабатываются! Т.е. окно по сути создается (и оно действительно создается - смотрел Spy++ от MS VS). Глохнет на строках forms.hpp:
/* TCustomForm.CreateNew */ inline __fastcall virtual TForm(Classes::TComponent* AOwner, int Dummy) : TCustomForm(AOwner, Dummy) { }
Но до команд конструктора данной формы дело не доходит - выполняет только TForm(Owner).
Пробовал перезагружаться, переставлял билдер - пофиг.
Самое обидное - проект горит! Поэтому любая помощь будет с радостью принята. Кто-нибудь сталкивался с подобным?
Помогите пожалуйста!
Автор: OdesitVadim
Дата сообщения: 13.05.2006 11:10
mariczzz
Так как я понятия не имею, какой там код, то могу предложить три варианта
1) Используется хитрый приём, который работал в 6, но не работает корректно в 5 (маловероятно)
2) А не попробывать перед компиляцией удалить с папки все dcu, bpl и прочье, оставив только pas, dfm, dpr, res (ну может ещё пару файлов)и сделать билд. Это очень часто спасает.
3) Наиболее вероянтый. У формы остались свойства, которых нет в 5 версии (это наиболее вероятно). Нужно просто открыть dfm этой формы и посмотреть.
Автор: mariczzz
Дата сообщения: 13.05.2006 15:57
>>
1) Используется хитрый приём, который работал в 6, но не работает корректно в 5 (маловероятно)

Наиболее маловероятно я бы сказал Проект начнался с 5, потом вдруг руководство решило, что 6 круче... В общем перетащили, а потом оказалось, что надо опять к 5 возвращаться. Вот такая катавасия Никаких заморочек 6 быть не должно

>>
2) А не попробывать перед компиляцией удалить с папки все dcu, bpl и прочье, оставив только pas, dfm, dpr, res (ну может ещё пару файлов)и сделать билд. Это очень часто спасает.

Чего только не пробовал: и стирал, и проект заново создавал (а потом включал старые исходники) - не помогло.

>>
3) Наиболее вероянтый. У формы остались свойства, которых нет в 5 версии (это наиболее вероятно). Нужно просто открыть dfm этой формы и посмотреть.

Тык он бы на них ругнулся еще при открытии! Собсстно так и было. Все поправил, но опять ни фига
Автор: TuMOXA123
Дата сообщения: 13.05.2006 17:36
Imho, наверняка осталась какая-то дрянь, про которую билдер бумает, что он её понимает. Попробуй создать новую форму в пятом и перетащить туда весь код (тока код) методом ctrl+c ctrl+v
Автор: mariczzz
Дата сообщения: 15.05.2006 21:32
Тимох thnx завтра попробую
Автор: Komsomolets
Дата сообщения: 16.05.2006 02:44
При компиляции абсолютно любого пректа, выдаётся ошибка [Linker Fatal Error]Fatal:. В справке написано что это, вероятно, связано с файлом release, но у меня его нету. Я в смятении!

Добавлено:
Вот полный текст ошибки [Linker Fatal Error]Fatal:Expected File Name
Автор: TuMOXA123
Дата сообщения: 16.05.2006 13:23
Это на свежепоставленном билдере (какой версии? обновление ставилось ?) или после того как ты что-то в нём улчшил или поставил компоненты ? Абсолютно любой это и File->New->New Application ?
Автор: Komsomolets
Дата сообщения: 16.05.2006 20:32
Проблему решил той же ночью, поставил 4-ую заплатку и всё заработало! Загвоздка заключалась в том, что в свежеустановленном пакете нету файла release.

Страницы: 12

Предыдущая тема: Advantage Table


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.