| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C++ Builder > Ошибка не понятная ( Unresolved external ) |
| Автор: rthsobakas 14.5.2009, 19:08 |
| [Linker Error] Error: Unresolved external 'TForm2::' referenced from C:\123\DEBUG_BUILD\PROJECT1.OBJ Не понятно что за ошибка и отчего она возникает....Код выложил бы. Но его просто много и толку нет особого... Просто важно отчего эта ошибка возникает. Кто встречался? |
| Автор: rthsobakas 14.5.2009, 19:31 |
| вот короткая часть... |
| Автор: Данкинг 14.5.2009, 19:32 |
| От чего угодно. |
| Автор: Artemon 14.5.2009, 19:34 |
| Это означает, что объявлен TForm2 класс, но нет его реализации. Сделай следующим образом: Нажми минус на главной панели билдера и удали от туда TForm2, затем нажми плюс и добавь TForm2. Мне пару раз такое помогало. |
| Автор: rthsobakas 14.5.2009, 19:42 |
| Artemon, главная панель билдера это что? Project Manager? |
| Автор: Artemon 14.5.2009, 19:53 |
| в C++Builder 6 в самом верху находится панель, на которой располагается множетсво кнопок, среди которых "+, -". Похоже у вас IDE более поздней версии, но думаю суть будет одна и таже. |
| Автор: rthsobakas 14.5.2009, 19:58 |
| Artemon, сделал... Но не помогло. |
| Автор: rthsobakas 14.5.2009, 20:14 |
| помогите кто нибудь. А то мне край... Главно ошибка не к селу ни к городу.... ниче не ясно |
| Автор: Artemon 14.5.2009, 20:15 |
| Такое впечатление, что ты ошибку не полностью привел, Наверно всетаки после TForm2:: Стояло какое-то имя метода ? |
| Автор: rthsobakas 14.5.2009, 20:22 |
| Artemon, нет.... именно так... тупо на 1 форме мемо удалил и она появилась. |
| Автор: Artemon 14.5.2009, 20:30 |
| Я смотрю в блокноте, поэтому могу ошибаться. У тебя в Классе TForm1 не объявлен Memo1, но почему-то ты пишешь такой код: Form1->Memo1->Lines->Add(IntToStr(sText[sSelObj.Count].Y0)); |
| Автор: rthsobakas 14.5.2009, 20:33 | ||
В каком классе? Как ты класс просмотрел? *.hpp фаил? Мемо я удалили,но событие остались и они не влияют ни на что.... Я ща их удалил -ниче не изменилось. А Form1->Memo1->Lines->Add(IntToStr(sText[sSelObj.Count].Y0)); это закомментил я... |
| Автор: Artemon 14.5.2009, 20:42 | ||
| Начнем с того, что не hpp, а просто h. Я говорю не про события а вот про этот кусок кода:
В файле Uni1.cpp Ты используешь Memo1, но он не объявлен в классе формы TForm1 |
| Автор: rthsobakas 14.5.2009, 20:47 |
| Artemon, класс формы TForm1 это фаил *.h? Я его просто называю хидером, модулем. Я не использую MEMO1!!! я его удалил с формы. |
| Автор: Artemon 14.5.2009, 20:53 |
| Объясни мне, как можно не использовать Memo, но при этом писать тот код, который я тебе привел ? Ты ведь конкретно обращаешься к компоненту Memo1, который когда-то лежал на форме. Пробуй закоментируй строки, в которых упоминается Memo1 (те, которые я привел). |
| Автор: rthsobakas 14.5.2009, 20:58 | ||||||||
| Artemon, аааа.... ты че? Сам себя цитирую
это символ комментариев
можно их ещё так писать
но в 1 случае он все комментит, во втором строку Добавлено через 4 минуты и 39 секунд Данкинг, от чего угодно быть не может! Тогда типо линковщик не правильный. А это тогда жесть ваще. Добавлено через 7 минут и 43 секунды НУ вот делаешь делаешь прогу.... А потом какая то нелепая ошибка непонятная и все... Пиши в техподдержку Борланду... Отлично... |
| Автор: Artemon 14.5.2009, 21:07 |
| Да, действительно, проглядел коментарий в блокноте. Тгда по другому можно начать разбираться, 1. В Unit1.cpp коментируй эту строку: if (ToolButton1->Down==true) {Form2->Show();} 2. Убери все инклуды, касающиеся Form2. (#include "Unit2.h") Попробуй, хотябы в таком состоянии будет компилится или нет |
| Автор: rthsobakas 14.5.2009, 21:18 |
| неаа... не компилит |
| Автор: Artemon 14.5.2009, 21:20 |
| А что говорит ? |
| Автор: rthsobakas 14.5.2009, 21:21 | ||
Вот что нашел... Но все равно ниче не ясно...
Добавлено через 15 секунд Artemon, говорит тоже самое |
| Автор: Artemon 14.5.2009, 21:25 |
| Завтра с утра может кто-то появится с IDE, в которой твой проект можно открыть и может что-то прояснится. |
| Автор: rthsobakas 14.5.2009, 21:29 |
| Artemon, у меня Турбо Билдер 6 экслоер... это типо 6, но бесплатная версия.... Можно его переконвертировать в 2009... Я переконвертировал и получил кучу новых ошибок того же вида.... ща покажу Добавлено через 1 минуту и 29 секунд [ILINK32 Error] Error: Unresolved external '__fastcall System::AnsiString::~AnsiString()' referenced from C:\USERS\ВЛАДЕЛЕЦ\DOCUMENTS\BORLAND STUDIO PROJECTS\BORLAND STUDIO PROJECTS\РАБОТА С ТЕКСТ\DEBUG_BUILD\UNIT1.OBJ [ILINK32 Error] Error: Unresolved external 'TForm1::' referenced from C:\USERS\ВЛАДЕЛЕЦ\DOCUMENTS\BORLAND STUDIO PROJECTS\BORLAND STUDIO PROJECTS\РАБОТА С ТЕКСТ\DEBUG_BUILD\PROJECT1.OBJ [ILINK32 Error] Error: Unresolved external '__fastcall System::TObject::NewInstance(System::TMetaClass *)' referenced from C:\USERS\ВЛАДЕЛЕЦ\DOCUMENTS\BORLAND STUDIO PROJECTS\BORLAND STUDIO PROJECTS\РАБОТА С ТЕКСТ\DEBUG_BUILD\UNIT2.OBJ и тд Добавлено через 2 минуты и 21 секунду но все равно [ILINK32 Error] Error: Unresolved external 'TForm1::' referenced from C:\USERS\ВЛАДЕЛЕЦ\DOCUMENTS\BORLAND STUDIO PROJECTS\BORLAND STUDIO PROJECTS\РАБОТА С ТЕКСТ\DEBUG_BUILD\PROJECT1.OBJ осталась |
| Автор: A5uKa 15.5.2009, 08:19 |
| нет нет ... это вроде либо страшная ошибка .h , либо ошибка компонентов, либо нажми Build или Make , бывает мешаются файлы старой компиляции, бильдер пытается с них плясать. |
| Автор: rthsobakas 15.5.2009, 14:08 |
| A5uKa, не помогло. |
| Автор: A5uKa 15.5.2009, 14:12 |
| Комментируй весь код и смотри что будет , или создавай новый проект и перетаскивай код - 2минуты работы. |
| Автор: xvr 15.5.2009, 14:23 | ||
| У тебя конструктор TForm1 пал смертью храбрых (где то) Добавь его обратно (в Unit1.cpp)
|
| Автор: rthsobakas 15.5.2009, 18:17 | ||||
| xvr, а куда добавить? В unit1.h
В unit2.h
присутствуют |
| Автор: A5uKa 15.5.2009, 19:14 | ||
или любой другой компонент. Делай как в моём предыдущем посте - меньше потратишь времени |
| Автор: xvr 15.5.2009, 20:53 | ||
В unit1.cpp |