Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
2 / 2 / 1
Регистрация: 11.02.2013
Сообщений: 33
1

Обращение к компонентам из функции

22.02.2013, 20:06. Показов 1969. Ответов 11
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В процессе работы на проектом решил переделать часть кода в функции и в обработчиках событий их вызывать. Но возникла такая вот проблема: при обращении в теле функции к свойствам компонентов на форме, выдает ошибку такого типа:
C++
1
[C++ Error] func_send.cpp(12): E2316 'Label_pass' is not a member of 'TForm1'
Собственно содержимое файла func_send.cpp
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "Unit1.h"
//-----------------------------------------------------
AnsiString enter_on_server(void)
        {
        AnsiString s,login,password;
        s="Entered";
        login=Form1->Edit_login->Text;
        password=Form1->Edit_pass->Text;
        Form1->Send_all->Visible=false;
        Form1->Cancel->Visible=false;
        Form1->Label_login->Visible=false;
        Form1->Label_pass->Visible=false;
        Form1->Edit_IP->Visible=false;
        Form1->Edit_login->Visible=false;
        Form1->Edit_pass->Visible=false;
        Form1->Log_memo->Visible=true;
        Form1->ClientSocket1->Socket->SendText(s+" "+login+" "+password);
        };
Собственно уже вроде все передумал, но мыслей толковых нет.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.02.2013, 20:06
Ответы с готовыми решениями:

Обращение к компонентам одного класса.
Приветствую! На форме присутствуют, скажем, n-ое число CheckBox'ов. Задача: при выборе i-го...

Обращение к компонентам другой формы с FormCreate
Ребята, есть ли способ ? к примеру если делаю так - void __fastcall TMain::FormCreate(TObject...

Применение функции к компонентам из разных форм
Еще раз доброго времени суток. Возникла следующая проблема. У меня приложение работает с базой...

Обращение из функции к объекту, расположенному на форме
Здравствуйте, коллеги! Подскажите пожалуйста, как можно обратиться к объекту, лежащему на форме из...

11
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
22.02.2013, 20:32 2
Цитата Сообщение от Стальное Перо Посмотреть сообщение
Label_pass
А у тебя действительно есть оюъект с таким именем на форме?
0
2 / 2 / 1
Регистрация: 11.02.2013
Сообщений: 33
22.02.2013, 21:21  [ТС] 3
Есть. Более того, если эту функцию перенести в Unit1.срр, то она отлично работает.
0
LK
Заблокирован
22.02.2013, 21:29 4
она и должна быть в срр, в заголовочном файле - только ее прототип (описание)
0
2 / 2 / 1
Регистрация: 11.02.2013
Сообщений: 33
22.02.2013, 21:43  [ТС] 5
LK, ты не понял. Я эту функцию переношу из файла Unit1.срр в файл func_send.cpp. Подключаю func_send.cpp к моему проекту. И все. Она начинает выбрасывать ошибки. В то время как в версии до переноса она работает без проблем.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.02.2013, 22:05 6
Цитата Сообщение от Стальное Перо Посмотреть сообщение
E2316 'Label_pass' is not a member of 'TForm1'
Че тут не понимать ? Нет такого Лэйбла на на Form1
0
2 / 2 / 1
Регистрация: 11.02.2013
Сообщений: 33
22.02.2013, 22:32  [ТС] 7
Если его нет, то почему она работает в предыдущей версии? Когда функция в Unit1.cpp?
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
22.02.2013, 23:21 8
Я не видел предыдущей версии и читать вот мысли не умею к сожалению..
0
2 / 2 / 1
Регистрация: 11.02.2013
Сообщений: 33
22.02.2013, 23:54  [ТС] 9
Отличие предыдущего варианта(последний рабочий) когда эта функция была задана в основном файле программы(Unit1.cpp) Об этом я уже говорил выше. Как только выношу в файл, то сразу ошибки на каждой строке, разница ошибок лишь в названии компонента.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.02.2013, 00:08 10
Ну так во первых- Unit1.h подключить к тому файлу ?

А во вторых никто так ф-ции не пишет...
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
23.02.2013, 00:45 11
Цитата Сообщение от Avazart Посмотреть сообщение
читать вот мысли не умею к сожалению..
Судя по твоим ответам, возникает подозрение, что не только мысли... Ты код в первом сообщении видел? Unit1.h к файлу подключен.
Цитата Сообщение от Avazart Посмотреть сообщение
А во вторых никто так ф-ции не пишет...
А вот это уже тебя касаться не должно. Вопрос опять же - не стоял, так или не так я, согласно мнению Avazart-а написал функцию. Вопрос был более корректным: почему один контрол, лежащий на форме, виден, а второй - нет, хотя при написании функции в том же файле, что и методы формы, видны оба. Пока идей, почему так происходит, нет.

Стальное Перо, попробуй создать заново тестовый проект, если ситуация повторится - выложи его архивом.
0
Эксперт С++
8385 / 6147 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
23.02.2013, 01:19 12
Цитата Сообщение от UI Посмотреть сообщение
Ты код в первом сообщении видел?
Ха ... если бы я не знал здешних обитателей которые пишут один код, показывают совсем другой...
Цитата Сообщение от UI Посмотреть сообщение
Вопрос был более корректным: почему один контрол, лежащий на форме, виден, а второй - нет, хотя при написании функции в том же файле, что и методы формы, видны оба. Пока идей, почему так происходит, нет.
Первое:
Цитата Сообщение от Avazart Посмотреть сообщение
Нет такого Лэйбла на на Form1
Нет? - смотри то что выше написано ...
Может вообще нет там никакого Form1 или Unit1 или называются они по другому...

Цитата Сообщение от UI Посмотреть сообщение
А вот это уже тебя касаться не должно. Вопрос опять же - не стоял, так или не так я, согласно мнению Avazart-а написал функцию.
Ну по сути как и проблемы TC собственно...
Хотя сомневаюсь что найдутся люди которые скажут что ф-ция написана правильно ... а если она неправильна... зачем вообще разбирать такой код и искать другие ошибки ?
0
23.02.2013, 01:19
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.02.2013, 01:19
Помогаю со студенческими работами здесь

Многократное обращение к одной и той же функции
Есть проигрыватель, в конструкторе основного класса я задаю функцию которая генерирует синусойду:...

WinApi функции. обращение к компонентам формы.
В общем недавно поднималась такая тема: на первой форме находилась кнопка и текстбокс. при нажатии...

Обращение к компонентам
Здравствуйте, есть вопрос, скорее всего очень глупый но голову ломаю уже долго. У меня есть...

Обращение к компонентам формы
Добрый вечер, господа форумчане . Суть проблемы кратко : Задача состоит в том , что бы ...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru