Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > C++ Builder
Перезагрузить страницу Как вызывать процедуры, находящиеся в других файлах
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Patriot Patriot вне форума
Member
 
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.09.2004
По умолчанию Как вызывать процедуры, находящиеся в других файлах - 09.04.2010, 14:50

Не могу разобраться как вызывать процедуры, находящиеся в других файлах.
То есть есть у меня Form1 - main.cpp, там я создал процедуру:

void DBConnect(){
..
Form1->MyConnection1->Connect();
..
}


в этой форме по нажатию на кнопку открывается другая форма Form2 - add.cpp
Я добавил в нее #include "main.h"

Теперь могу обращаться к объектам в main.cpp а к процедуре не могу. Только если добавить #incluede "main.cpp" - но тогда перестают работать обращения к объектам(((

Всем телом понимаю что все это делается не так, но не понимаю как сделать правильно. По поиску что-то не нашел(
Ответить с цитированием
  (#2 (permalink)) Старый
caxaromires caxaromires вне форума
Member
 
Аватар для caxaromires
 
Сообщений: 42
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.03.2010
По умолчанию 09.04.2010, 15:36

void Form1::DBConnect() - в main.CPP-файле
void Form1::DBConnect(); - в main.h в разделе public
Ответить с цитированием
  (#3 (permalink)) Старый
FataLL FataLL вне форума
Member
 
Аватар для FataLL
 
Сообщений: 1,783
Сказал(а) спасибо: 2
Поблагодарили 25 раз(а) в 25 сообщениях
Регистрация: 04.11.2004
По умолчанию 09.04.2010, 15:37

Потому что в main.h нет описания процедуры. Ты там добавь строчку
Код:
.......
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------

void DBConnect(); // <---- вот это добавь!!!

#endif
Ответить с цитированием
  (#4 (permalink)) Старый
Patriot Patriot вне форума
Member
 
Сообщений: 12
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 13.09.2004
По умолчанию 09.04.2010, 15:53

caxaromires, не получилось: Говорит, что Form1 не является классом или пространством имен. Если убрать Form1:: то выдает другую ошибку:
[ILINK32 Error] Error: Unresolved external 'TForm1::DBConnect()' referenced from C:\..\debug\main.obj
[ILINK32 Error] Error: Unable to perform link

FataLL, заработало! Большое спасибо) А я добавлял в паблик и оно работало.. Теперь буду знать)
Ответить с цитированием
  (#5 (permalink)) Старый
caxaromires caxaromires вне форума
Member
 
Аватар для caxaromires
 
Сообщений: 42
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 04.03.2010
По умолчанию 09.04.2010, 16:28

Цитата:
caxaromires, не получилось: Говорит, что Form1 не является классом или пространством имен. Если убрать Form1:: то выдает другую ошибку:
Там TForm1 вместо Form1 надо. А в общем случае название класса в public'е которого ты объявил функцию.
Ответить с цитированием
Ads.
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Есть ли способ отключить клавиши, находящиеся на мониторе (контростность, яркость) sektor Мониторы 6 23.02.2012 11:31
Сообщение: AGP отключён. Это может вызывать снижение производительности. Что делать? "СТУДЕНТ" Видеокарты 12 09.02.2010 07:19
Как правильно вызывать функцию loki52 С/С++ 2 12.06.2008 16:53
Как вызывать интерфейс MicroSoft который в офисе 2003 typic Visual C++ 11 14.01.2007 20:42
Как переодически вызывать формы на приложении Искатель креков Delphi 10 04.01.2007 09:08
Как находящиеся строки в Memo добавить в ComboBox GiG@nsTeR C++ Builder 2 01.11.2006 17:45
Нужно перехватывать нажатие клавишь и вызывать соответствующие команды меню Sash&#39;Ok&#33; Visual C++ 2 24.10.2006 13:52
Как вызывать Win32 API из C# tоkito .NET 4 12.09.2006 15:22
Как MDI-Child окна хранить в DLL и вызывать их по требованию Gold_Dreamer Delphi 6 20.09.2004 20:57
Как записать в обыйный текстовый файл значения, находящиеся в указанных вещах [sleepnot] C++ Builder 6 22.07.2004 16:56
Как вызывать скрипты wml и perl fleak XML & WML 7 19.05.2004 14:55
Как вызывать функции контроля javascript Anonymous DHTML, JavaScript, VBScript 5 04.12.2003 15:58



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов