С Новым годом! Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
2 / 2 / 0
Регистрация: 28.06.2019
Сообщений: 129
Записей в блоге: 3

Проблема с переносом массива между файлами проекта

28.12.2019, 14:27. Показов 973. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
имеется 3 формы.

код первой формы
Кликните здесь для просмотра всего текста

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <vcl.h>
 
#include "gz_mon_frm.cpp"         // Форма выбора монитора главного экрана
#include "gz_table_settings.cpp"  // Форма настройки табло ГЭ
 
#pragma hdrstop
#include "MainU.h"
#pragma package(smart_init)
#pragma resource "*.dfm"
TMainFrm *MainFrm;
 
//---------------------------------------------------------------------------
void __fastcall TMainFrm::N8Click(TObject *Sender)
{
GZ_frm->Show();        //Открываем форму экрана Главного Зала
}
//---------------------------------------------------------------------------
void __fastcall TMainFrm::gztzblesettClick(TObject *Sender)
{
gz_table_sett->Show();
}
//---------------------------------------------------------------------------


код второй формы (gz_table_settings.cpp)
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
 
#include "gz_table_settings.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tgz_table_sett *gz_table_sett;
 
AnsiString rs_items[8];              //Массив строк РС МКС
AnsiString DataForNASA[36];     //Массив параметров МКС
//---------------------------------------------------------------------------
__fastcall Tgz_table_sett::Tgz_table_sett(TComponent* Owner)
        : TForm(Owner)
{
 
}
//---------------------------------------------------------------------------
void __fastcall Tgz_table_sett::SendToDBaseClick(TObject *Sender)
{
rs_items[0]=rm_item1->Text;
rs_items[1]=rm_item2->Text;
rs_items[2]=rm_item3->Text;
rs_items[3]=rm_item4->Text;
rs_items[4]=rm_item5->Text;
rs_items[5]=rm_item6->Text;
rs_items[6]=rm_item7->Text;
rs_items[7]=rm_item8->Text;
}
//---------------------------------------------------------------------------


и код третей формы (gz_mon_frm.cpp)
Кликните здесь для просмотра всего текста
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
//---------------------------------------------------------------------------
 
#include <vcl.h>
#pragma hdrstop
#include <DateUtils.hpp>
#include "gz_table_settings.cpp"
//#include "gz_table_settings.h"
#include "gz_table_form.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
Tgz_table_frm *gz_table_frm;
//---------------------------------------------------------------------------
AnsiString RsMks[8]; //Состав строки РС МКС
int Day;             //День недели
AnsiString days[] = { "воскресенье", "понедельник", "вторник", "среда", "четверг", "пятница", "суббота" };
 
//Only for test - DEBGGER
AnsiString TestDate="19.09.19";
AnsiString TestText="СОЮЗ МС-12";
 
//Даты ввода в состав РС МКС объектов
AnsiString ZARYA_LAUNCH_DATE="20.11.98";
AnsiString ZVEZDA_LAUNCH_DATE="12.07.00";
AnsiString PIRS_LAUNCH_DATE="15.09.01";
AnsiString POISK_LAUNCH_DATE="10.11.09";
AnsiString RASSVET_LAUNCH_DATE="14.05.10";
AnsiString TK_LAUNCH_DATE[4];
 
// Переменные дата-время
AnsiString DateString;  //Локальная дата
AnsiString TimeStringM; //Moscow
AnsiString TimeStringH; //Houston
AnsiString TimeStringG; //GMT
//---------------------------------------------------------------------------
 
//---------------------------------------------------------------------------
__fastcall Tgz_table_frm::Tgz_table_frm(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall Tgz_table_frm::DMB_timerTimer(TObject *Sender)    //Таймер 1000 мс
{
RsMks[5]="/ \""+TestText+"\" ";  // Первый корабль в строке
RsMks[6]="/ \""+TestText+"\" ";  // Второй корабль в строке
RsMks[7]="/ \""+TestText+"\" ";  // Третий корабль в строке
 
Day = DayOfWeek(Now());                             //Текущий день недели
day_name->Caption=days[Day-1];                      //Проверка номера дня
RsMksString->Caption="РС МКС ( \"ЗАРЯ\" / \"ЗВЕЗДА\" \"ПИРС\" / \"ПОИСК\" / \"РАССВЕТ\"";         //Строка РС МКС
RsMksSOY->Caption=RsMks[5],RsMks[6],RsMks[7];
DayYearN->Caption=IntToStr(DayOfTheYear(Now()));    //Сутки года
date_string->Caption=DateString;                    //Вывод даты локальной
DateString = FormatDateTime("mm/dd/yy", Now());     //Форматирование даты ДД-ММ-ГГ
TimeStringM = FormatDateTime("hh/nn/ss", Now());     //Форматирование времени ЧЧ-ММ-СС для ДМВ
TimeStringG = FormatDateTime("hh/nn/ss", Now());     //Форматирование времени ЧЧ-ММ-СС для GMT  !!!ПЕРЕДЕЛАТЬ
dmt->Caption=TimeStringM;                            //Вывод времени локального
obj_data->Caption=IntToStr(DaysBetween(ZARYA_LAUNCH_DATE,Now())+1);     //Сутки полета объектов
obj_data2->Caption=IntToStr(DaysBetween(ZVEZDA_LAUNCH_DATE,Now())+1);
obj_data3->Caption=IntToStr(DaysBetween(PIRS_LAUNCH_DATE,Now())+1);
obj_data4->Caption=IntToStr(DaysBetween(POISK_LAUNCH_DATE,Now()));
obj_data5->Caption=IntToStr(DaysBetween(RASSVET_LAUNCH_DATE,Now()));
GrinT->Caption=TimeStringG;
hu_t->Caption=TimeStringM;
scsc->Left=RsMksSOY->Left+RsMksSOY->Width;
kz_time->Caption=RsMksSOY->Width;
}
//---------------------------------------------------------------------------


И собственно сам вопрос - как правильно передать массив rs_items на третью форму, что бы его присвоить массиву RsMks из третей формы. При попытке подключения (вписываю в третью форму #include cpp второй формы) выскакивает E2238 (Muiltiple declaration) и многое другое что на дает мне скомпилировать проект. Прошу помощи.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
28.12.2019, 14:27
Ответы с готовыми решениями:

Где можно указать путь к форме в проекте (проблема с переносом проекта на другой ПК)
Здравствуйте. При запуске своего проекта на другом компьютере, обнаружил что первая форма хранится отдельно от всего проекта (на рабочем...

В чем разница между файлами проекта?
Я сделал проект в C# Зашел в папку. Там есть файл с расширением: sln А еще файл с расширением csproj Не важно какой я запущу - зайду...

Проблема с адресацией между файлами в PyQt5, PySide2
Используется: PySide2, PyQt5; Здравствуйте,форумчане,возникла проблема с адресацией между python файлами; Вот кусочек кода: if...

1
 Аватар для Lelik-pahan
1703 / 899 / 207
Регистрация: 25.11.2009
Сообщений: 1,848
29.12.2019, 20:42
Dima_control, никогда не "инклудь" cpp-файлы.

На третьей форме подключи
C++
1
#include "gz_table_settings.h"
А в конце gz_table_settings.h, рядом с
C++
1
extern PACKAGE Tgz_table_sett *gz_table_sett;
напиши
C++
1
extern AnsiString rs_items[8];
При этом само объявление
C++
1
AnsiString rs_items[8];
должно также остаться в gz_table_settings.cpp
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
29.12.2019, 20:42
Помогаю со студенческими работами здесь

Проблема с переносом сервера
Добрый день! Возникла необходимость перенести временно сервер Домино на другой компьютер. Для этого был взят обычный компьютер Dell с...

Проблема с переносом на SSD
Взялся переносить систему на ssd программой Data Migration, в процессе возникла ошибка дефрагментации. После перезагрузки пк, запускается...

Проблема с переносом базы
В силу причин пришлось перенести полностью работоспособную базу на новое рабочее место. Была установлена на win xp, офис 2003. На новом...

Проблема с переносом строки таблицы
Здравствуйте! Делал таблицу и столкнулся с такой проблемой. Таблица состоит из 5х строк и нескольких столбцов, как на скриншоте. Последняя...

ЗиК. Проблема с переносом данных
Переношу данные из БухСофт Предприятие 2009 в Стандартную ЗиК 7.70.260 Возникла проблема: Все данные записывает, вроде все ОК. Но,...


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

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Изучаю 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
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
Модель микоризы: классовый агентный подход 3
anaschu 06.01.2026
aa0a7f55b50dd51c5ec569d2d10c54f6/ O1rJuneU_ls https:/ / vkvideo. ru/ video-115721503_456239114
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR
ФедосеевПавел 06.01.2026
Owen Logic: О недопустимости использования связки «аналоговый ПИД» + RegKZR ВВЕДЕНИЕ Введу сокращения: аналоговый ПИД — ПИД регулятор с управляющим выходом в виде числа в диапазоне от 0% до. . .
Модель микоризы: классовый агентный подход 2
anaschu 06.01.2026
репозиторий https:/ / github. com/ shumilovas/ fungi ветка по-частям. коммит Create переделка под биомассу. txt вход sc, но sm считается внутри мицелия. кстати, обьем тоже должен там считаться. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru