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

Функцию объявить глобально

26.02.2011, 21:49. Показов 8667. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как использовать функцию в другой форме

когда пытаюсь вызвать пишет
C++
1
[C++ Error] UnitaddTheme.cpp(43): E2268 Call to undefined function 'LoadList'
google не помог
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.02.2011, 21:49
Ответы с готовыми решениями:

Как объявить созданную функцию, чтобы ей пользоваться?
Создал свою функцию, записал в хедере void __fastcall TForm1::test(TObject *Sender) {} прописал в хедере void __fastcall...

Где объявить и описать функцию щелчка для динамического объекта
Вот у меня есть класс, в котором я создаю динамически картинку и лейбл на ней, подскажите пожалуйста где мне объявить и описать функцию...

Где и как надо объявить функцию, чтобы в её теле не использовалось имя формы?
Всем здравствуйте: В модуле Unit1.cpp стартовой формы Form1 описываю прототип функции: void InitLabel(TForm1 *frm); и её...

9
2 / 2 / 1
Регистрация: 23.02.2011
Сообщений: 13
26.02.2011, 22:13
Попробуйте объявить функцию на главной форме и прописать на вспомогательной, где она вызывается, include нужного заголовочного файла .h, либо вынести нужную функцию в отдельный заголовочный файл, описав её как public, и расставив в начале всех файлов, где она может вызываться, include-ы.
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
26.02.2011, 22:21
Xelloss, переменные глобально можно обьявить вот так:
Обьявляете переменную в одной файле как обычно:
C++
1
int test=25;
А в другом пишите (не забудьте подключить заголовочный файл первой формы)
C++
1
extern int test;
Способ №2: В Unit1.h в области public у класса TForm1 пишите:
C++
1
2
3
4
5
6
7
8
class TForm1 : public TForm
{
__published:    // IDE-managed Components
private:    // User declarations
public:     // User declarations
        __fastcall TForm1(TComponent* Owner);
        int test; //Обьявили
};
Доступ к этой переменной из другой формы происходит следующим образом:
C++
1
Form1->test=25;
Добавлено через 2 минуты
Цитата Сообщение от Xelloss Посмотреть сообщение
google не помог
Запрос по фразе "c++ builder глобальные переменные" вам не помог? Странно, видно Гугль вас недолюбливает...
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
27.02.2011, 13:25
Цитата Сообщение от NiTan Посмотреть сообщение
Запрос по фразе "c++ builder глобальные переменные" вам не помог?
- он как бы функцию хотел.
0
Покинул форум
3189 / 1368 / 109
Регистрация: 29.01.2010
Сообщений: 2,887
27.02.2011, 13:35

Не по теме:

LK, ой :rofl:



Добавлено через 1 минуту
Да разницы особой и нет. Способ за номером 2 отлично подходит:
C++
1
2
3
4
5
6
7
8
class TForm1 : public TForm
{
__published:    // IDE-managed Components
private:    // User declarations
public:     // User declarations
        __fastcall TForm1(TComponent* Owner);
        void Test(); //Обьявили
};
C++
1
Form1->Test();//Использовали
1
0 / 0 / 1
Регистрация: 22.10.2009
Сообщений: 46
27.02.2011, 17:19  [ТС]
NiTan,спасибо за быстрые ответы, помощь(правда сам до этого так пробывал но било ошибку)

решил проблему методом тыка объявив
C++
1
void __fastcall TMainForm::LoadList()
и в unit.h
C++
1
void __fastcall LoadList();
вызываю
C++
1
MainForm->LoadList();
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
27.02.2011, 17:39
а не проще сделать себе юнит типа function.cpp, в юните этом наваять функций, в хидере юнита прототипы типа, подключить юнит оный к юниту нужному, в данном случАе, кажется, к Unit1.h , и поиметь удовольствие без лишних телодвижений, да еще и иметь возможность использовать оную функцию во множестве юнитов, лениво отстукав одним пальцем #include "function.cpp" ...
0
2 / 2 / 0
Регистрация: 25.05.2009
Сообщений: 59
21.04.2011, 22:58
Цитата Сообщение от LK Посмотреть сообщение
а не проще сделать себе юнит типа function.cpp, в юните этом наваять функций, в хидере юнита прототипы типа, подключить юнит оный к юниту нужному, в данном случАе, кажется, к Unit1.h , и поиметь удовольствие без лишних телодвижений, да еще и иметь возможность использовать оную функцию во множестве юнитов, лениво отстукав одним пальцем #include "function.cpp" ...
а можно поподробнее! Примерчик! Не сложный! А то блин много лишего везде написано, а нужного не могу найти!
Заранее спасибо LK!
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
22.04.2011, 02:10
CARTMEN, там написано для первоклашек, может, даже, для старшей группы детского сада - делай, не получается - собчи, помогу - зуб даю (если осталось) .
0
1 / 1 / 0
Регистрация: 12.07.2012
Сообщений: 46
16.01.2016, 23:39
Повторю вопрос, как правильно объявить функцию, чтобы компилятор узнавал объекты формы(в которой размещена вновь созданная функция), которые использует эта функция? Когда была встроена в обработчики объектов формы(не имела имени), все объекты узнавала, при вынесении же отдельно, с присвоением имени собственного в поле функций этой же формы - внезапно компилятор стал выдавать ошибку -
[bcc32 Error] Tach0.cpp(75): E2451 Undefined symbol 'Label1'?
Функция прописана вручную, в хедере, как выше было указано? Результата никакого, кто грамотный подскажет, что делать, может, правильно использовать всякие namespase и using, может, до них дело дошло? Костыли, типа юнитов, для десяти строчек, не предлагать. И, самое главное - эта функция должна работать глобально, вперёд всех галочек и лейбочек с остальным, прерывать по возможности их, чтобы они после неё уже её результаты обрабатывали - как создать такую действительную глобальность? Вот тогда не жалко отдельного юнита, хоть и не хотелось бы, но стоит?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
16.01.2016, 23:39
Помогаю со студенческими работами здесь

Глобально задать HWND
Здравствуйте! Я работаю в среде Builder 6. Меня интересует ответ на вопрос: Как объявить HWND для всей программы (то есть глобально) вот...

Объявлении хендла глобально и в классе
При объявлении хендла глобально всё работает нормально. При объявлении хендла в классе компиляция проходит нормально, но при попытке...

Как переключить язык клавы глобально?
Что нужно добавить в код, чтобы переключение языка происходило глобально, а не только на форме? ...

Глобально перехватить нажатие сочитания клавиш
Вот нашол в интернете Как глобально перехватить нажатие клавиши или комбинации клавиш. Для примера, перехватим комбинацию ALT +...

Как глобально скопировать выделенный текст в Б.О
Есть программа, в которой я отлавливаю нажатие клавиш CTRL+C, но, отлавливая эти клавиши, я выполняю что-то своё, но копирование в системе...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru