Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1

Ошибка при объявлении функции

14.05.2015, 13:26. Показов 1387. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Я в теле функции обращаюсь к элементам на форме (эдиту, комбобоксу и т.д.).
Компилятор на такие вещи ругается и пишет, например:
[C++ Error] Unit1.cpp(32): E2451 Undefined symbol 'Edit2'
Ф-ция выглядит так:
C++
1
2
3
4
5
6
7
8
double x, y;
void funck()
{
  x=StrToFloat(Edit1->Text);
  y=StrToFloat(Edit2->Text);
  Memo1->Lines->Add("Наши пределы"+FloatToStr(x)+" "+FloatToStr(y)+" ["+ComboBox1->Text+"].");
  return; 
}
Что делать?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.05.2015, 13:26
Ответы с готовыми решениями:

Ошибка при объявлении функции в DLL
Вот кот: //--------------------------------------------------------------------------- #include <vcl.h> #include <windows.h> ...

Некомпилируется при объявлении friend функции
Всем доброго времени суток! Может кто-нибудь объяснить почему данный код компилится: #define DEF struct DEF str1 { ...

Ошибка при объявлении класса
А в этом случае как быть?: Цель: создаю точки, вывожу список точек в ListBox (через класс). Вот структура для списка точек: ...

3
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
 Аватар для volvo
33402 / 21512 / 8236
Регистрация: 22.10.2011
Сообщений: 36,912
Записей в блоге: 12
14.05.2015, 14:19
funck не является методом класса формы, поэтому
C++
1
2
3
4
5
6
7
void funck()
{
  x=StrToFloat(Form1->Edit1->Text);
  y=StrToFloat(Form1->Edit2->Text);
  Form1->Memo1->Lines->Add("Наши пределы"+FloatToStr(x)+" "+FloatToStr(y)+" ["+Form1->ComboBox1->Text+"].");
  return; 
}
, или делать классом формы, соответственно.
1
Программист по неволе
 Аватар для Alex_From_777
24 / 24 / 8
Регистрация: 22.04.2015
Сообщений: 476
Записей в блоге: 1
14.05.2015, 14:32  [ТС]
И как сделать классом формы?
0
Модератор
 Аватар для D1973
9928 / 6465 / 2457
Регистрация: 21.01.2014
Сообщений: 27,420
Записей в блоге: 3
14.05.2015, 17:30
Лучший ответ Сообщение было отмечено Alex_From_777 как решение

Решение

В хедере формы (файл Unit1.h) в разделе private или public (в зависимости от того, где будет использоваться функция; только в этом модуле или в каких-то других тоже)
примерно так:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
class TForm1 : public TForm
{
__published:    // IDE-managed Components
        TEdit *Edit1;
        TEdit *Edit2;
        TButton *Button1;
        void __fastcall Button1Click(TObject *Sender);
        void __fastcall FormCreate(TObject *Sender);
private:    // User declarations
        void __fastcall funck(); //<<== Вот она
public:     // User declarations
        __fastcall TForm1(TComponent* Owner);
};
В файле реализации (Unit1.cpp) функцию объявляем не так
C++
1
2
3
4
void funck()
{
...
}
а вот так
C++
1
2
3
4
void __fastcall Form1::funck()
{
...
}
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.05.2015, 17:30
Помогаю со студенческими работами здесь

Ошибка при объявлении структуры
Пишу на C++ Bilder программу, которая через структуру будет выводить мне таблицу, но выдает ошибки, в чем проблема? #include...

Ошибка при объявлении структуры: Improper use of typedef 'sta'
struct sta { String qwe; }; sta.qwe = &quot;asd&quot;; выдаёт : E2108 Improper use of typedef 'sta'

Ошибка "Array bounds missing ]" при объявлении массива
AnsiString FAM;не пропускает эту строчку в билдере с++ выдает ошибкуче ему не нравится ? подскажите как исправить???

Странная ошибка с переменными в объявлении процедуры
Объявляю процедуру в Main.h, : class TForm1 : public TForm { public: void GroupVertexUp(int,int); Пишу процедуру в Main.cpp: ...

Автоматическая инициализация массива при объявлении
Гарантирует ли такое объявление то, что все элементы массива - нули, или там могут оказаться случайные числа? bool Busy;


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru