xxxxxxx |
Отправлено: 09.11.2005, 07:34 |
|
Не зарегистрирован
|
HI всем.
Решил пересесть с Delphi на Borland C++, и вдруг НЕОЖИДАННО для
себя обнаружил что я не могу создать динамически (во время выполнения) компанент
например TImage.
ВСЕ КОНСТРУКЦИИ ПЕРЕПРОБОВАЛ
Помогите плиз. |
|
Valdemar |
Отправлено: 09.11.2005, 07:57 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
Видимо не все конструкции вы перепробовали. Все легко создается
CODE | TImage * img = new TImage(Form1);
img->Left=100;
img->Top=100;
img->Width=100;
img->Height=100;
img->ShowHint=true;
img->Hint="image";
img->Parent=Form1; |
Чтобы Image был видим, в него надо загрузить изображение. В примере для подтверждения создания Image выводится Hint.
И надо пользоваться поиском, хорошо помагает. |
|
xxxxxxx |
Отправлено: 09.11.2005, 08:39 |
|
Не зарегистрирован
|
Нееееееееее я же написал, что все конструкции:
[CODE]
TImage* img = new TImage(Form1);
И
TImage* img = new TImage(this);
[CODE]
А он подлец пишет что не может найти TImage::TImage();
Пропускает только вот это:
[CODE]
TImage* img = (TImage*)(operator new(sizeof(TImage)));
[CODE]
Ноя если честно я хрен знает что это за конструкция. |
|
Asher |
Отправлено: 09.11.2005, 08:58 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
Привет.
Хм, а заголовочные файлы подключать не пробовали?
Многим помогает.
CODE | #include <ExtCtrls.hpp> |
|
|
xxxxxxx |
Отправлено: 09.11.2005, 09:37 |
|
Не зарегистрирован
|
>>>Хм, а заголовочные файлы подключать не пробовали?
>>>Многим помогает.
Ну вот ещё один умник, конечно пробовал.
Для тебя специально привожу текст ошибки.
Could not find a match for 'TImage::TImage()'
То есть по руски значит, что он не может найти конструктор TImage(),
а не сам клас TImage. |
|
AVC |
Отправлено: 09.11.2005, 09:52 |
|
Ветеран
Группа: Модератор
Сообщений: 1583
|
Ну вот, еще один обиженный на С++ паскалист.
Вам ведь пытаются помочь, можно бы и по-вежливее.
Для качественой помощи приложите не только код ошибки, а и весь проект ( если, конечно, он не слишком секретный).
Могу вас успокоить — все можно создавать динамически. И, обычно, ни каких трудностей при этом не возникает. Скорее всего у вас не та настройка проекта/системы. |
|
Asher |
Отправлено: 09.11.2005, 10:13 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
QUOTE | То есть по руски значит, что он не может найти конструктор TImage(), а не сам клас TImage. |
Угу. Я так понимаю класс сам по-себе, конструктор сам по-себе.
Где-то отдельно потерялся.
|
|
Valdemar |
Отправлено: 09.11.2005, 10:32 |
|
Мастер участка
Группа: Участник
Сообщений: 433
|
xxxxxxx, вы бы еще и справку по TImage почитали бы, какой у него конструктор. Компилятор вам намекает, что конструктора без параметров у TImage нет:
QUOTE | Could not find a match for 'TImage::TImage()'
| |
|
xxxxxxx |
Отправлено: 09.11.2005, 11:46 |
|
Не зарегистрирован
|
Ну ещё раз Hi
>>>>Ну вот, еще один обиженный на С++ паскалист.
Ну зачем сразу обиженный да ещё и паскалист.
Если я с Delphi на Borland C++ хочу пересесть это ещё не значит что я с С++ плохо знаком.
В Visual Studio C++ например вся это бойда работает специально проверил.
>>>>Вам ведь пытаются помочь, можно бы и по-вежливее.
Ну как вы думаете я наверное ПОНИМАЮ какие файлы загаловка подключать чтобы
включить реализацию того или иного класса в приложение.
Это так отступление, Теперь собственно о ПОМОЩИ:
Я не прошу обьеснять мне реализацию динамического подключения классов в Borland C++
она стандартна для языка С++ в целом.
Я косвенно прошу помочь(в первом сообщении я же написал, что все конструкции попробовал)
мне с настройкой среды разработки(Borland C++).
А ОТВЕТ>>>Хм, а заголовочные файлы подключать не пробовали?<<< ЭТО НЕ ПОМОЩЬ А ИЗДЕВАТЕЛЬСТВО.
>>>>Угу. Я так понимаю класс сам по-себе, конструктор сам по-себе.
>>>>Где-то отдельно потерялся.
Я надеюсь ты пошутил:)
>>>>xxxxxxx, вы бы еще и справку по TImage почитали бы, какой у него конструктор. Компилятор вам намекает, что
>>>>конструктора без параметров у TImage нет:
Для особо внимательных во втором своём сообщении я написал.
TImage* img = new TImage(Form1);
И
TImage* img = new TImage(this);
По твоему Form1 это не пораметр.
P.S. Ну я всётаки создал этот TImage динамически( TImage* img = new TImage(this); ) просто комп перезагрузил.
|
|
Asher |
Отправлено: 09.11.2005, 12:01 |
|
Мастер участка
Группа: Модератор
Сообщений: 550
|
QUOTE | Я надеюсь ты пошутил:) |
Да какие тут шутки.
Первые ответы на Ваш вопрос — это наиболее часто встречающиеся ошибки.
Что Вы лично подразумеваете под QUOTE | ВСЕ КОНСТРУКЦИИ ПЕРЕПРОБОВАЛ | я например не знаю. Телепатией не обладаю.
В таких условиях, зачастую, простые советы являются вполне достаточными и , в какой-то мере, уточняющими, раз уж Вы сами предметную область не сузили.
Взято с другого форума:
QUOTE | Вопрос: У меня ничего не работает. Почему?
Ответ: Все нормально. Так и должно быть. Попробуйте сформулировать вопрос кокретней, может тогда появится ответ.
Правильно заданый вопрос — половина ответа.
|
P.S. Интересно, как бы Вы отреагировали на совет перегрузить компьютер?
Отредактировано Asher — 09/11/2005, 13:05
|
|
xxxxxxx |
Отправлено: 09.11.2005, 12:22 |
|
Не зарегистрирован
|
Не буду врать я бы ВОЗМУТИЛСЯ:).
Но рано или позно я бы его reboot'нул И ПОСЛЕДОВАЛО БЫ ГЛУБОКОЕ РАСКАЯНИЕ:(. |
|
Gedeon |
Отправлено: 09.11.2005, 13:37 |
|
Ветеран
Группа: Модератор
Сообщений: 1742
|
Мля, нет слов, это не
QUOTE |
Ну вот, еще один обиженный на С++ паскалист. | это воообще не понятно кто, у меня коллега, так вот он на дэлфи пишет, не балуйся, понадобились человеку комплексные числа, взял std::complex единственный вопрос на к-рый я ответил using namespace std; дальше он просто читал документацию. ВСЕ! а вот если не дано то не дано.
|
|
Grigoriy |
Отправлено: 09.11.2005, 19:16 |
|
Мастер участка
Группа: Участник
Сообщений: 381
|
QUOTE (xxxxxxx @ 09/11/2005, 11:46) | просто комп перезагрузил. |
Что, надо было ОС перезагружать ?
|
|
Георгий |
Отправлено: 09.11.2005, 23:14 |
|
Почетный железнодорожник
Группа: Модератор
Сообщений: 874
|
во флейм |
|