Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.07.2012, 15:27   #1
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию C++Builder 6. Не могу понять

Я подключил второй Unit. В обоих юнитах прописано:
#include "Unit1.h"
#include "Unit2.h"
Но когда в первом ввожу Unit2-> - тут не вывскакивает подсказка, а выходит ошибка:
[C++ Error] Unit1.cpp(1): Unable to invoke Code Completion due to errors in source code

Я уже весь интернет обыскал, может из-за билдера проблема?
igrok111 вне форума Ответить с цитированием
Старый 12.07.2012, 16:22   #2
ElectroMent
Пользователь
 
Регистрация: 28.12.2011
Сообщений: 27
По умолчанию

Builder сообщил о наличии ошибок в коде, потому подсказку отказался выкидывать.
Проблема в тебе.
ElectroMent вне форума Ответить с цитированием
Старый 12.07.2012, 16:32   #3
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Там кода я вообще не писал, только пытаюсь начать - как ошибка, всё остальное я автоматом создал через File- New -

Вообщем я добавил во втрой юнит(через конструктор) - поток, получилось так:
__fastcall thread::thread(bool CreateSuspended)
: TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void __fastcall thread::Execute()
{
//---- Place thread code here ----
}

Теперь хочу запустить поток при загрузке формы. Пишу в
void __fastcall TForm1::FormCreate(TObject *Sender)
thread-> - выбивает ошибку
если напишу
Unit-> ошибка
Form1-> - тут нету ни потока, ни юнита 2.

Вот код 1 и 2 юнита

Unit1.cpp
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include "Unit2.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{

}
//---------------------------------------------------------------------------
void __fastcall TForm1::FormCreate(TObject *Sender)
{

}
//---------------------------------------------------------------------------



Unit2.cpp
//---------------------------------------------------------------------------

#include <vcl.h>
#pragma hdrstop

#include "Unit2.h"
#include "Unit1.h"
#pragma package(smart_init)
//---------------------------------------------------------------------------

// Important: Methods and properties of objects in VCL can only be
// used in a method called using Synchronize, for example:
//
// Synchronize(UpdateCaption);
//
// where UpdateCaption could look like:
//
// void __fastcall thread::UpdateCaption()
// {
// Form1->Caption = "Updated in a thread";
// }
//---------------------------------------------------------------------------

__fastcall thread::thread(bool CreateSuspended)
: TThread(CreateSuspended)
{
}
//---------------------------------------------------------------------------
void __fastcall thread::Execute()
{
//---- Place thread code here ----
}
//---------------------------------------------------------------------------

Последний раз редактировалось igrok111; 12.07.2012 в 16:34.
igrok111 вне форума Ответить с цитированием
Старый 13.07.2012, 01:22   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Мама родная .
Unit2.h, это текстовый файл, а не объект. Я в шоке.
Понятия о языке у Вас 00000000000,00000000000.
Я даже не знаю, как ответить на этот вопрос.
Начните с консольных программ. С формами Вам работать, несколько рановато, а тем более лезть в VCL.
Какие, нафиг, потоки если ТС пишет "Unit-> ошибка".
А чего компил ещё выдать должен?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 13.07.2012 в 01:30.
Smitt&Wesson вне форума Ответить с цитированием
Старый 13.07.2012, 08:33   #5
Krok27
Форумчанин
 
Аватар для Krok27
 
Регистрация: 08.07.2010
Сообщений: 505
По умолчанию

Цитата:
Теперь хочу запустить поток при загрузке формы. Пишу в
void __fastcall TForm1::FormCreate(TObject *Sender)
thread-> - выбивает ошибку
если напишу
Unit-> ошибка
Form1-> - тут нету ни потока, ни юнита 2.
ТС, быстрее за учебники!!!!!!!

2Smitt&Wesson
Цитата:
Я даже не знаю, как ответить на этот вопрос.
Эт потому что, вопрос, собственно, отсутствует.
Тем более, что
Цитата:
Там кода я вообще не писал
Знающий не говорит, говорящий не знает (С) Лао Цзы
Krok27 вне форума Ответить с цитированием
Старый 13.07.2012, 17:49   #6
igrok111
Форумчанин
 
Регистрация: 12.07.2012
Сообщений: 140
По умолчанию

Спасибо всем за советы. Немного поспишил. Но поток запустил всё таки, разобрался немного. Таким образом запустил:
new thread(false);
igrok111 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу понять spaun88 Общие вопросы Delphi 0 15.04.2010 00:41
не могу понять Dawystrik SQL, базы данных 0 06.09.2009 19:20
Не могу понять Superlotles Помощь студентам 8 31.08.2009 20:39