![]() |
|
|
![]()
|
|
| Comm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Всех приветствую..
У меня есть 2 формы и один наследник TThread.. ->"Unit3.h" Все это дело соединено между собой.. #include "Unit1.h" <<<<<<<<< LoL*Thread; #include "Unit2.h" #include "Unit3.h" ==================================== Потом в одной из public: функций "Unit1.h" запускаю поток.. Thread= new LoL(false); Thread->FreeOnTerminate=true; ==================================== Потом сую в обработчик событий OnClose формы Form2("Unit2.h") конструкцию Thread->Terminate(); //завершить поток.. И он выдает мне мол , О каком Thread ты мне тут бакланишь, ничего не знаю =) [C++ Error] Unit2.cpp(50): E2451 Undefined symbol 'Thread' Я запутался, помогите (( заранее ,Большое Спасибо... -------------------- =))))) ![]() |
|||
|
||||
| Mihhail |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 13.9.2007 Репутация: нет Всего: 9 |
А в файле Unit2.h прописано #include "Unit1.h"? Если нет - потому и не видит!
Это не объединение файлов, это присоединение к одному(в котором прописано) трёх других. Это сообщение отредактировал(а) Mihhail - 17.9.2007, 07:36 |
|||
|
||||
| Comm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
В каждом Unit.h прописано .... а все равно не видит (((
А может из за объявления внутри функции Unit1.h ? хотя вряд ли... LoL*Thread; объявлен сразу после Form1 *TForm; в Unit1.h =============================== void _fastcall TForm1::ConnectAndRead(........) { Thread= new LoL(false); Thread->FreeOnTerminate=true; } ================================= Результат при попытке манипуляции с указателем в Unit2.h Thread-> Ctrl+Space............... // [C++ Error] Unit2.cpp(1): Unable to invoke Code Completion due to errors in source code Это сообщение отредактировал(а) Comm - 17.9.2007, 15:19 -------------------- =))))) ![]() |
|||
|
||||
| Mihhail |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 13.9.2007 Репутация: нет Всего: 9 |
Это уже не в видидимости дело, гдато неправильая запись. Thread-> Ctrl+Space............... // Это что такое, дай полностью.. |
|||
|
||||
| Comm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Эм.... Thread это поток объявленный LoL * Thread
Послего того как написал Thread-> можно нажать комбинацию клавиш Ctrl+Space и по идеи открывается список со всевозможными манипуляциями с указателем.... но вместо этого вылазит вышенаписанная ошибка ((( -------------------- =))))) ![]() |
|||
|
||||
| Mihhail |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 96 Регистрация: 13.9.2007 Репутация: нет Всего: 9 |
Ещё один момент, проверь:
Form1 *TForm; - такая запись обычно в Unit1.cpp файле находится. Т.е.и LoL*Thread там же? Тогда в Unit1.h после extern PACKAGE TForm1 *Form1; необходимо прописать: extern LoL*Thread, для видимости её во внешних файлах. Это сообщение отредактировал(а) Mihhail - 17.9.2007, 21:02 |
|||
|
||||
| Comm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Unit1.cpp...
#pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; LoL *Thread; //--------------------------------------------------------------------------- Unit1.h extern PACKAGE TForm1 *Form1; extern PACKAGE LoL *Thread; <<< без PACKAGE такая же ошибка... //--------------------------------------------------------------------------- #endif и вот что выдает при компиляции [C++ Error] Unit1.h(69): E2141 Declaration syntax error Это сообщение отредактировал(а) Comm - 17.9.2007, 21:40 -------------------- =))))) ![]() |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
Comm, такое чувство, что у тебя там какая-то секретная программа. Выложи полностью Unit1.h и Unit1.cpp и тебе сразу скажут где косяк.
|
|||
|
||||
| Comm |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Unit1.cpp
Добавлено @ 22:40 Unit1.h
Это сообщение отредактировал(а) Comm - 17.9.2007, 23:11 -------------------- =))))) ![]() |
||||
|
|||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
ну и где в Unit1.h подключается описание класса LoL ?
|
|||
|
||||
| Comm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Класс LoL в #include "Unit3.h"
Дело в том что в Unit1.cpp указатель Thread виден прекрасно... что нельзя сказать о Unit2.cpp Это сообщение отредактировал(а) Comm - 17.9.2007, 22:51 -------------------- =))))) ![]() |
|||
|
||||
| Fazil6 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1653 Регистрация: 3.5.2006 Где: Минск Репутация: 11 Всего: 60 |
мда уж... Видишь как трудно быть пластмассовым по самые плечи? Повторяю свой вопрос:
для того чтобы он был виден прекрасно, должно быть доступно его объявление и описание его типа. |
|||
|
||||
| Comm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Вот только сделал... ссылка на пример ниже ... Есть две формы
На первой форме три кнопки "ЗАпустить" , "Остановить" , "открыть форму 2" и метка Лейбел где увеличивается счетчик в потоке... И на форме 2 ,кнопка.."остановить".. Так вот если не трудно ..продемонстрируй мне пожалуйста как можно остановить поток кнопкой из формы 2.. Ссылка на файл BCB6 Это сообщение отредактировал(а) Comm - 18.9.2007, 02:21 -------------------- =))))) ![]() |
|||
|
||||
| Comm |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 269 Регистрация: 31.8.2007 Где: Санкт-Петербург Репутация: 2 Всего: 1 |
Очень расчитываю на помощь...
-------------------- =))))) ![]() |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
Comm, ты б книжку какую-нибудь хоть почитал...
Присоединённый файл ( Кол-во скачиваний: 16 )
primer1.rar 3,72 Kb |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |