Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
 Аватар для Alec
0 / 0 / 1
Регистрация: 25.05.2014
Сообщений: 16

Ошибка при открытии формы

21.04.2015, 09:57. Показов 2811. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. После бессонной ночи раздумий, сдался. в общем проблема такова.
При взаимодействии с Form1 или её компонентами, из Form4, вылетает такая ошибка(Приложил скриншот).
Прикрепил весь проект(C++ builder 6). Просьба помочь понять природу ошибки.
Миниатюры
Ошибка при открытии формы  
Вложения
Тип файла: rar project.rar (4.72 Мб, 7 просмотров)
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
21.04.2015, 09:57
Ответы с готовыми решениями:

Вызов функции при открытии формы
Собственно вопрос: Есть главная форма(форма1) с кнопкой, которая открывает другую форму(форма2). Как при открытии формы2 вызвать функцию?...

При открытии одной формы закрывается предыдущая
Подскажите, как сделать так, чтоб при открытии формы (Form2) сразу закрывалась предыдущая (Form1) не добавляя на форму кнопки в c++Builder6?

Очистить содержимое компонента первой формы при открытии другой
Здравствуйте. Вроде бы банальный вопрос, но что-то у меня не получается очистить содержимое Listbox1 и memo1 (они находятся на первой...

15
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
21.04.2015, 11:04
А так?
C++
1
Form1->Show();
0
 Аватар для Alec
0 / 0 / 1
Регистрация: 25.05.2014
Сообщений: 16
21.04.2015, 11:06  [ТС]
Так тоже выдает ошибку. хНык(
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
21.04.2015, 11:17
Ваш проект у меня не собирается, по ряду объективных причин. А в коде тяжело понять, Вашу логику, не могли бы дать комментарии к задаче, и в чем проблема при реализации.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
21.04.2015, 12:23
Убил считай час. До чего я редко это говорю, но просто ужасающее проектирование. Формы сами себя открывают, кнопки нажимают, половина событий переназначено, ничего не обозвано, стандартные имена, глобальные функции лежат между методами формы, про goto вообще молчу, смесь стилей кода, статические массивы указателей на компоненты формы, лежащие в глобальной области, при чем все это скрыто в дебрях в тоннах кода. На столько запутанно, что понять что там вообще должно происходить сложно. Вы использовали наверное все возможные рекомендации как не надо делать. Просто квинтэссенция вредных советов.
Сопроводить и отладить такой код стоит очень больших трудов.
Вы конечно молодец, что пробуете, сами все пишите и все дела, но почитайте какую-нибудь хоть книжку по проектированию программ.

На самом деле у вас на первой форме лежит невизуальный неборландовый компонент TTrayIcon. Вот в нем и косяк. Проект не содержит его описание (файл trayicon.cpp).
0
 Аватар для Alec
0 / 0 / 1
Регистрация: 25.05.2014
Сообщений: 16
21.04.2015, 12:31  [ТС]
Цитата Сообщение от demon_7 Посмотреть сообщение
Ваш проект у меня не собирается, по ряду объективных причин. А в коде тяжело понять, Вашу логику, не могли бы дать комментарии к задаче, и в чем проблема при реализации.
В кратце. Мне необходимо заполнять шаблоны документов полями из бд access. С этим проблем нет, все необходимые поля я сохраняю в конфиги, при первом подключении к бд. На Form1 присутствует RichEdit, в него я загружаю шаблон с расставленными в нем метками. Метки заполняются из ComboBox'ов на Form2. Все простенько и примитивно. Все хорошо работает. Но мне усложнили задачу. Теперь необходимо заполнять шаблон, так чтобы пользователь не видел этого процесса. Я создал еще одну форму, разместил на ней два ScrolBox'a . Один для шаблонов договоров, другой для отчетов. С помощью FindFirst и FindNext я читаю по указанным путям папки с шаблонами. При нахождении шаблона, для каждого динамически создается кнопка, с соответствующим названием, пути к файлам записываю в массив строк. Все хорошо работает, создается. Теперь необходимо дать пользователю выбор, что делать с шаблоном. Редактировать или заполнить и отправить на печать. Для этого я создал еще одну Form4. На ней разместил две кнопки, редактировать и печать. Вот здесь и столкнулся с ошибкой того содержания, что в миниатюре. При любом обращении из Form4 к Form1 и её компонентам, вылетает эта ошибка. Надеюсь передал суть поставленной задачи и возникшей проблемы.

Добавлено через 3 минуты
Цитата Сообщение от SatanaXIII Посмотреть сообщение
Убил считай час. До чего я редко это говорю, но просто ужасающее проектирование. Формы сами себя открывают, кнопки нажимают, половина событий переназначено, ничего не обозвано, стандартные имена, глобальные функции лежат между методами формы, про goto вообще молчу, смесь стилей кода, статические массивы указателей на компоненты формы, лежащие в глобальной области, при чем все это скрыто в дебрях в тоннах кода. На столько запутанно, что понять что там вообще должно происходить сложно. Вы использовали наверное все возможные рекомендации как не надо делать. Просто квинтэссенция вредных советов.
Сопроводить и отладить такой код стоит очень больших трудов.
Вы конечно молодец, что пробуете, сами все пишите и все дела, но почитайте какую-нибудь хоть книжку по проектированию программ.
На самом деле у вас на первой форме лежит невизуальный неборландовый компонент TTrayIcon. Вот в нем и косяк. Проект не содержит его описание (файл trayicon.cpp).
Я благодарю вас, за ваше потраченное время. И прошу меня простить за столь ужасающий код. Я самоучка, и до сносного написания кода, мне еще далеко.
0
Почетный модератор
Эксперт С++
 Аватар для SatanaXIII
5851 / 2862 / 392
Регистрация: 01.11.2011
Сообщений: 6,906
21.04.2015, 12:46
Цитата Сообщение от SatanaXIII Посмотреть сообщение
неборландовый
Нет, вру.
Цитата Сообщение от Alec Посмотреть сообщение
И прошу меня простить за столь ужасающий код. Я самоучка, и до сносного написания кода, мне еще далеко.
Главное что стараетесь. Уже похвально.
1
 Аватар для Alec
0 / 0 / 1
Регистрация: 25.05.2014
Сообщений: 16
21.04.2015, 12:49  [ТС]
SatanaXIII, я удалил этот компонент и все что с ним связано. Но ошибка осталось. хНык
Мне кажется дело не в нем. Ибо если делать Form1 основной в проекте, то она нормально создается отображается ,и компонент работает исправно.
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
21.04.2015, 13:20
Цитата Сообщение от Alec Посмотреть сообщение
В кратце. Мне необходимо заполнять шаблоны документов полями из бд access. С этим проблем нет, все необходимые поля я сохраняю в конфиги, при первом подключении к бд. На Form1 присутствует RichEdit, в него я загружаю шаблон с расставленными в нем метками. Метки заполняются из ComboBox'ов на Form2. Все простенько и примитивно. Все хорошо работает. Но мне усложнили задачу. Теперь необходимо заполнять шаблон, так чтобы пользователь не видел этого процесса. Я создал еще одну форму, разместил на ней два ScrolBox'a . Один для шаблонов договоров, другой для отчетов. С помощью FindFirst и FindNext я читаю по указанным путям папки с шаблонами. При нахождении шаблона, для каждого динамически создается кнопка, с соответствующим названием, пути к файлам записываю в массив строк. Все хорошо работает, создается. Теперь необходимо дать пользователю выбор, что делать с шаблоном. Редактировать или заполнить и отправить на печать. Для этого я создал еще одну Form4. На ней разместил две кнопки, редактировать и печать. Вот здесь и столкнулся с ошибкой того содержания, что в миниатюре. При любом обращении из Form4 к Form1 и её компонентам, вылетает эта ошибка. Надеюсь передал суть поставленной задачи и возникшей проблемы.
Не совсем. Вы не описали задачу, а описали Вашу реализацию, но из совокупности всего написанного задам Вам такой вопрос- Вам необходимо, заполнять некие текстовые шаблоны (желательно указать формат по заданию, у Вас .rtf но можно же и .doc) данными взятыми из БД?
Условия задания: Заполнение должно происходить прозрачно, а так же должна существовать возможноть редактировать шаблон.
Как то так?
0
 Аватар для Alec
0 / 0 / 1
Регистрация: 25.05.2014
Сообщений: 16
21.04.2015, 13:23  [ТС]
Цитата Сообщение от demon_7 Посмотреть сообщение
Не совсем. Вы не описали задачу, а описали Вашу реализацию, но из совокупности всего написанного задам Вам такой вопрос- Вам необходимо, заполнять некие текстовые шаблоны (желательно указать формат по заданию, у Вас .rtf но можно же и .doc) данными взятыми из БД?
Условия задания: Заполнение должно происходить прозрачно, а так же должна существовать возможноть редактировать шаблон.
Как то так?
Да, вы совершенно правы. Формат не имеет значения. Я выбрал .rtf из-за того, что документ в этом формате можно загрузить в RichEdit.
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
21.04.2015, 13:25
Какую структуру имеет БД? и какого формата шаблон?
0
 Аватар для Alec
0 / 0 / 1
Регистрация: 25.05.2014
Сообщений: 16
21.04.2015, 13:34  [ТС]
Цитата Сообщение от demon_7 Посмотреть сообщение
Какую структуру имеет БД? и какого формата шаблон?
Мм. Нужна адаптация, под любую структуру. Что в принципе у меня выполнено. Формат шаблонов тоже не имеет значение. Суть в том, что бы просто заполнить шаблон и пустить его на печать, но так чтобы исходный фаил шаблона остался неизменным. Для этого я создавал каталог для шаблонов, и необходимый мне шаблон загружал в RichEdit, потом уже внутри самого RichEdit'a заполнял указанные метки, затем пускал на печать или сохранял в .doc через oleserver.
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
21.04.2015, 13:51
Шаблон я так понимаю не один? есть некое множество шаблонов и каждый из них заполняется своими данными?
0
 Аватар для Alec
0 / 0 / 1
Регистрация: 25.05.2014
Сообщений: 16
21.04.2015, 13:56  [ТС]
Цитата Сообщение от demon_7 Посмотреть сообщение
Шаблон я так понимаю не один? есть некое множество шаблонов и каждый из них заполняется своими данными?
Да, вы правы.
0
 Аватар для demon_7
260 / 192 / 60
Регистрация: 12.05.2013
Сообщений: 857
21.04.2015, 14:14
Я бы в Вашем случае сделал все через OLE.
Ну во первых, чтобы изменить шаблон достаточно открыть его в Word, которым все давно умеют пользоваться.
Во вторых печатать его оттуда тоже можно.
В третьих реализация кода замены Ваших меток будет более лаконична.
Редактирование шаблона OLE-Word
Работа с OLE-сервером Word (создание множества документов в цикле)
http://wladm.narod.ru/Borland/word.html
Единственное, что меня смущает, это установить взаимосвязь полей БД и меток, может на этом этапе будут какие то трудности.
1
 Аватар для Alec
0 / 0 / 1
Регистрация: 25.05.2014
Сообщений: 16
21.04.2015, 14:37  [ТС]
demon_7, спасибо за подсказку. Обязательно посмотрю.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.04.2015, 14:37
Помогаю со студенческими работами здесь

Ошибка при открытии проекта
добрый день, Borland C++ Builder 10.1 Berlin, возникла проблема при открытии проекта, проект писался в этом борланде уже длительное...

Ошибка при открытии файла в программе!
Дорогие знатоки, решил я опробовать c++ builder и написать простой текстовый редактор и вот в чем не задача, пытаюсь я через свой...

OLE WORD ошибка при открытии более чем 5 файлов.
Суть программы в том, что нужно открыть несколько файлов, записать в них данные и сохранить. В приложении около 15 dot шаблонов, которые то...

Ошибка при создание формы
Всем привет:) Не подскажите в чём проблема, когда создаю новую форму, вылазит ошибка :(

Ошибка при запуско формы
Установил Билдер 6. Запускаю форму (F9) и получаю ошибку. Может кто знает в чем дело? Была восьмерка, поставил десятку. Ситуация не...


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

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru