|
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
|
|||||||||||
Объявление и определение глобального массива структуры08.01.2016, 19:57. Показов 3443. Ответов 19
Метки нет (Все метки)
Есть структура
И... нужно к ним обращаться из других форм билдера. Прога у меня компилится, но, как я понял, статично (т.е. внутри своего файла). А нужно, чтобы все это было связано. Т.е. глобально... Посоветуйте как?
0
|
|||||||||||
| 08.01.2016, 19:57 | |
|
Ответы с готовыми решениями:
19
Объявление и определение глобального массива структур. Доступ к нему из любого cpp. Как?
Объявление глобального объекта класса |
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
||||||||||||||||
| 09.01.2016, 03:58 | ||||||||||||||||
|
Как вариант: в хедере пропиши структуру и прототип функции:
1
|
||||||||||||||||
|
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
|
|
| 09.01.2016, 12:26 [ТС] | |
|
Спасибо! только один момент... Если у меня форм много.... Это не важно, что реализация функции будет только в файле 1.cpp? Или... мне нужно будет реализовывать эту же функцию и в других 2.cpp и 3.cpp?
И еще... там есть еще парочку не структурных переменных... На доступ к ним я тоже должен в хеадере прописать прототип функции на их получение и в одном из cpp прописывать реализацию? А других cpp? Как-то сложно здесь реализуются такие простые понятия как глобальные переменные. В любом случае спасибо! Просто так я не думал (таким способом реализовывать). В любом случае щас буду экспериментировать. Но! Буду очень благодарен, если вы сможете найти еще чуть чуть для меня времени для моих уточняющих вопросов. =) Спасибо! Добавлено через 1 час 24 минуты Дополнение. Провел пару экспериментов. Описал всё как в образце. Не видит массив.
0
|
|
|
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
|
|||||||||||
| 09.01.2016, 12:51 | |||||||||||
|
На счет функции:
1) хедер во все формы, в которых собираешься с этой функцией работать 2) достаточно 1 реализации в любом .cpp, но static тогда нужно убрать (оно ограничивает область видимости до одного файла) На счет переменных: 1) В каждом .cpp в котором собираешься использовать общую для всех .cpp глобальную переменную объявляешь ее (только объявляешь!!!) перед ее использованием
1
|
|||||||||||
|
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
|
|
| 09.01.2016, 13:10 [ТС] | |
|
А статик надо будет заменить на паблик?
0
|
|
|
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
|
|
| 09.01.2016, 13:12 | |
|
нет, просто убери статик, если хочешь, чтоб функцией могли пользоваться все .cpp
вообще не плохо было б, если б ты код скинул)
0
|
|
|
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
|
||||||||||||||||
| 09.01.2016, 13:20 [ТС] | ||||||||||||||||
|
Окей=) Только... чур не смеяться=) Я всего неделю в этом деле залипаю=)
Программа будет создавать события на какую-нибудь дату. Потом напоминать об этом событии. Да... я тут начал делать изменения, согласно вашим рекомендациям... Само собой... еще не везде все тут поправил. Поэтому переменные щас не особо совпадают. unit 1.cpp
0
|
||||||||||||||||
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
|||
| 09.01.2016, 14:56 | |||
|
Добавлено через 3 минуты
2
|
|||
|
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
|
|
| 09.01.2016, 14:58 | |
|
да, все верно... не то сказал...
P.S.: у него в программе эта функция отказывается работать напрочь, хотя я склепал маленький проект и у меня все ок...
1
|
|
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
|
| 09.01.2016, 15:00 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
|
||||||||||||||||
| 09.01.2016, 15:04 [ТС] | ||||||||||||||||
|
Смотрите... Если я начинаю писать
в 1.cpp
То, правильно я понимаю, что теперь из любого места (любого другого cpp) если я написал
getArrDatSob()[0]. - он, после точки, должен выдать мне список полей моей структуры?
0
|
||||||||||||||||
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
|||||
| 09.01.2016, 15:11 | |||||
|
Вот это что?
Добавлено через 2 минуты Добавлено через 2 минуты Это что за массив? Не слишком много у тебя DatSob mas[500]?
1
|
|||||
|
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
|
|
| 09.01.2016, 15:12 [ТС] | |
|
Убираю лишнее. Это был мой способ реализовать глобальную структуру. Через другую структуру=) Уже это исправлено.
0
|
|
|
31 / 34 / 18
Регистрация: 30.09.2011
Сообщений: 202
|
||||||||||||||||
| 09.01.2016, 15:16 | ||||||||||||||||
|
File1.h
nord_v, в Unit1.cpp строки 5 и 17 глянь... Unit2 можно вообще не трогать пока.. в 5 строке пишет ошибку: не удается перегрузить функции различаемые только по типу возвращаемого значения
0
|
||||||||||||||||
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
|||
| 09.01.2016, 15:26 | |||
|
1
|
|||
|
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
|
||||||||||||||||
| 09.01.2016, 15:42 [ТС] | ||||||||||||||||
|
Это был эксперимент. Проверка... Подсказку не выдает =) т.е. имя полей не высвечивается. пробовал и внутри кнопок и форм и функций. Щас выложу поправленный код.
и сразу вопрос. Такая строчка вообще возможна? getArrDatSob()[getArrMainfile().indx].line1 ?? Я правильно понимаю, что с помощью данной функции я могу и изменять их значение и просто считывать? Поправленный код, кроме обращений к глобальным переменным. Никак не могу просто вызвать список полей после точки, чтобы заменять их везде: unit 1.cpp
0
|
||||||||||||||||
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
||||
| 09.01.2016, 15:53 | ||||
|
1
|
||||
|
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
|
||||||||||||||||
| 09.01.2016, 16:47 [ТС] | ||||||||||||||||
|
Ну вот... я все переменные изменил. Вроде должно работать. Но... теперь не запускается вообще...
О, программисты=)! Есть ли еще советы как "оживить эту штуку" Выкладываю код unit 1.cpp
unit 2.cpp
File 1.h
0
|
||||||||||||||||
|
337 / 185 / 80
Регистрация: 22.08.2013
Сообщений: 724
|
||
| 09.01.2016, 16:54 | ||
|
1
|
||
|
0 / 0 / 0
Регистрация: 08.11.2015
Сообщений: 69
|
|
| 09.01.2016, 18:14 [ТС] | |
|
Проблема решена! Спасибо.
0
|
|
| 09.01.2016, 18:14 | |
|
Помогаю со студенческими работами здесь
20
Объявление глобального указателя всего проекта Совместите объявление и инициализацию структуры. После инициализации структуры выполните изменение ее полей с последующи Объявление структуры
Объявление и определение функции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Символьное дифференцирование
igorrr37 13.02.2026
/ *
Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет
значение производной при заданном х
Логарифм записывается как: (x-2)log(x^2+2) -. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|