Почему падает эта зараза?

Автор Технолог, 01.12.04, 05:06:54

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Технолог

Дддурррдомм!!! Пытаюсь написать новую библиотеку на C++ Builder 6.0 - и шо? Добавляю туда форму, вставляю код, чтоб форма на экране появилась - всё работает. Добавляю на форму выпадающий список, а в конструктор - код, который в этот список члены добавляет, ну, что - то вроде этого:
OnlyForm->Diameter->Items->Add(IntToStr(Val));
запускаю на выполнение - падает, причём намертво!! Комментирую эту строчку - никаких проблем, всё выполняется. Компас, кстати, 5.11 R03. Техподдержка официально заявляет, что такие проблемы не в её компетенции... А в чьей?
В смысле, никто с такой проблемой ранее не сталкивался? А может, кто-то её решил?

123

Что за форма, как работает?

Здравствуйте!

Проблема явно не в Компасе, а скорее всего в правильности подключения библиотеки (RTW=DLL) т.к. EXE и DLL файлы немного отличаются . DLL должна правильно подключится к адресному пространству Компаса.

Я пишу на Delphi,  примеры можете найти на сайте http://www.mariupolsapr.narod.ru/ таких проблем нет, если конечно пользователи правильно подключают библиотеки именно под те версии, под которые они писались.

Всегда с уважением бывший технолог.

Технолог

Возможно, проблема действительно в неправильном подключении адресного пространства. Но вопрос в другом: что при этом делать-то? То есть: пока не включил эту строчку - подключаюсь правильно, всё работает. Как только раскомментировал и перекомпилил - сразу испортил подключение и всё висит. Закомментировал обратно и перекомпилил - подключение чудесным образом восстановилось и всё заработало.
Или не так? Или, получается, к какой бы программе я ни пытался подключить эту библиотеку - она любую программу повесит?

Помогите, плизз, кто в этом разбирается!

Технолог

Примеры, на которые ссылка лежит - гольные дэлэлэльки с описашками! Текста программ там нет. То есть, я вижу, что всё работает, но как - непонятно

333

Сталкивался с такой ситуацией:
Начинаешь устанавливать к.л. значения контролу а в результате начинают приходить разные события для контрола
типа OnClick или OnChange
Возможно у Вас тоже срабатывает к-л обработчик в котором чтото делается, а в результате вылет, т.к. не все еще проинициализировано.
Проблемма решается за счет дополнительного флага который в начале нужно проинициализировать false-сом, а когда закончится работа конструкторов сделать = true
а во всех обработчиках проверять значение флага если он == false то ни чего не делать.    

Технолог

Открыл я Builder, но не понял, как посмотреть эти самые события. То есть: при запуске отладчика есть всякие там WinSight или WinSpy (не знаю точно, какие именно и что это такое - не сильно опытный я ещё программер :-(   ), однако: Компас не даёт запускать отладчик!! что делать? Как понять, какие сообщения там происходят, и как их отключить?

123

Цитироватьоднако: Компас не даёт запускать отладчик!! что делать?
Использовать демо-версию под отладчиком.