Формы, функции
От: HitmanPND  
Дата: 03.11.05 17:25
Оценка:
Мне сказали, что этот сайт самый лучший по программированию, поэтому я сюда обращаюсь...
Проблема (Builder 6):
У меня есть форма, функции которой описываются в файле Unit1.cpp
При нажатии клавиши открывается новая форма
        Form2->ShowModal();

В форме 2, функции которой описываются в файле Unit2.cpp, в Edit1 вводятся данные, затем после нажатии клавиши мне нужно, чтобы созданная в Unit1 структура
  
struct st
{
        char c[32];
        person *prev;
        person *next;
};
void add(char stroka[32])
{
...
}

Изменилась согласно действиям в функции add, входными параметрами которой я хотел бы видеть Form2->Edit1

Смысл выдаваемой ошибки такой: структура st и функция add не могут быть изменены/вызваны в Unit2.cpp

Прошу дать полный, развернутый ответ по данному вопросу, считайте меня чайником, т.к. я учусь на инжинера и C++ мне преподают не на очень высоком уровне.... Заранее спасибо....

Поправлено форматирование. — Кодт
Re: Формы, функции
От: srggal Украина  
Дата: 04.11.05 10:07
Оценка:
Здравствуйте, HitmanPND, Вы писали:

Как минимум, неправильно, то, что Вы при работе пользователя в модальном Диалоге — хотите сразу менять обрабатывать ввод пользователя( менять сожержимое других форм ). Пользователь может отменить ввод в модальном диалоге.


// где-то далеко в Unit1.cpp
...
    Form2->ShowModal();
...
  // проверили Modalresult
...
  this->add( Form2->Edit1->Text() );
...
... << RSDN@Home 1.1.4 stable rev. 510>>
Re[2]: Формы, функции
От: HitmanPND  
Дата: 04.11.05 11:40
Оценка:
Здравствуйте, srggal

Строка
this->add( Form2->Edit1->Text() );
мне осталась не понятной...
Я сам решил свою проблему так:
в Unit2.cpp
Form2->Close();
Form1->Label1->Caption=Edit1->Text;

в Unit1.cpp
Form2->ShowModal();
char surname[32];
strcpy(surname,Label1->Caption.c_str());

В Label1 стоит Visible=false
все вроде красиво работает....
Re: Формы, функции
От: Force_Majeure Россия  
Дата: 07.11.05 06:06
Оценка:
Честно говоря не совсем понял задачу, но в общем случае, чтобы из Form2 можно было вызывать функции и оперировать данными из Form1 нужно структуру и заголовки функций определить в Unit1.h в классе формы в разделе public:, а в Unit2.h включить Unit1.h командой #include "Unit1.h". Тогда в любых функциях Form2 ты сможешь вызывать что-либо из Form1 например так: Form1->MyFunc(...) и оперировать с ее данными, например strcpy(Form1->Edit1->Text,"lalala")
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.