Правила Форума редакция от 22.06.2020 |
|
|
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже. |
|
|
Опции темы | Опции просмотра | Language |
27.04.2011, 12:47 | #1 |
Неактивный пользователь
Пол: Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
|
Банальные вопросы/ответы
При компилировании следующего фрагмента текста.
По нажатию кнопки окно Memo должно менять свойство Visible с true на false #include <vcl.h> #pragma hdrstop #include "PMEMain.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TPMEForm *PMEForm; //--------------------------------------------------------------------------- void __fastcall TPMEForm::ButtonClick(TObject *Sender) { static bool isVisible; isVisible = !isVisible; if (isVisible) Memo->Hide(); else Memo->Show(); } Компилятор выдаёт следующее сообщение: [Linker Error] Unresolved external 'TPMEForm::' referenced from C:\PROGRAM FILES\BORLAND\CBUILDER5\PROJECTS\TESTPME\PMETEST.O BJ Что это и как с этим бороться? (C++ Builder 5.0) |
Реклама: | MSI Pro H610M-E | кокон кресло подвесное купить | Обратите внимание на это предложение: стойки для одежды - лучший магазин мебели, большой выбор, выгодные цены! | супермен и лоис смотреть 4 сезон | доска объявлений для улицы |
28.04.2011, 08:33 | #2 |
Пользователь
Пол: Регистрация: 26.03.2008
Сообщений: 67
Репутация: 28
|
Re: Банальные вопросы/ответы
Напиши так наверно: void __fastcall TPMEForm::ButtonClick(TObject *Sender) { Memo1->Visible = Memo1->Visible ? false : true; } |
28.04.2011, 09:45 | #3 |
Неактивный пользователь
Пол: Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
|
Re: Банальные вопросы/ответы
Да пробовал я и тернарные выражения - не помогло
|
28.04.2011, 10:11 | #4 | |||||||||||||||||||||||
Пользователь
Пол: Регистрация: 26.03.2008
Сообщений: 67
Репутация: 28
|
Re: Банальные вопросы/ответы
Размести на форме Memo & Button. Вот так работает без проблем #include <vcl.h> #pragma hdrstop #include "ShowHideMemo.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender){ Memo1->Visible = false; Button1Click(this); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender){ String s = " элемент \"Memo\""; if(Memo1->Visible) { Memo1->Visible = false; Button1->Caption = "Скрыть" + s; } else { Memo1->Visible = true; Button1->Caption = "Показать" + s; } } //--------------------------------------------------------------------------- И так работает #include <vcl.h> #pragma hdrstop #include "ShowHideMemo.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender){ Memo1->Visible = false; Button1Click(this); } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender){ String s = " элемент \"Memo\""; Memo1->Visible = Memo1->Visible ? false : true; if(Memo1->Visible)Button1->Caption = "Скрыть" + s; else Button1->Caption = "Показать" + s; } //--------------------------------------------------------------------------- И еще у тебя что то с именами файлов в проекте не так судя по ошибке компилятора... Создай проект заново с именами всех объектов по умолчанию и попробуй заново. Последний раз редактировалось BookkeeperW; 28.04.2011 в 15:35.. |
|||||||||||||||||||||||
Сказали спасибо: |
29.04.2011, 09:05 | #5 |
Неактивный пользователь
Пол: Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
|
Re: Банальные вопросы/ответы
Спасибо, всё работает!
|
29.04.2011, 14:05 | #6 |
Неактивный пользователь
Пол: Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
|
Re: Банальные вопросы/ответы
Тренируюсь, выполняю простенькие задачки. По сути надо сделать MDI-приложение, которое позволяет открывать и сохранять графические файлы, содержащие растровые изображения.
Следующий фрагмент кода должен открывать диалоговое окно File Open и получить имя файла. Если при выборе объекта нажата кнопка ОК, то создаётся новый TChild, далее файл с изображением передаётся компоненту Image подчинённой формы, затем рабочая область этой формы подгоняется под размер изображения. //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "ViewMain.h" #include "MDIChild.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TMainForm *MainForm; //--------------------------------------------------------------------------- __fastcall TMainForm::TMainForm(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TMainForm::Open1Click(TObject *Sender) { if (OpenDialog->Execute()) { TChild* child = new TChild(this); child->SetParent(this); child->Image->Picture->LoadFromFile(OpenDialog->FileName); child->ClientWidth = child->Image->Picture->Width; child->ClientHeight = child->Image->Picture->Height; child->Caption = OpenDialog->FileName; child->Show(); } } Компилятор ругается на этот фрагмент кода и выдаёт следующую ошибку: [C++ Error] ViewMain.cpp(21): E2247 '_fastcall TCustomForm::SetParent(TWinControl *)' is not accessible Что-то типа нарушение доступа к классам или как это понимать, помогите пожалуйста... |
30.04.2011, 11:02 | #7 | |||||||||||||||||||||||
Пользователь
Пол: Регистрация: 26.03.2008
Сообщений: 67
Репутация: 28
|
Re: Банальные вопросы/ответы
У меня не установлены старые версии C++ Builder, рисую в C++ Builder Xe... Вот накидал маленькое приложение, попробуй скачать и посмотреть... Я думаю что работать будет и на ранних версиях Builder. Проект создай свой, а код функций скопируй и исправь что нужно, должно работать. С размерами ChildForm`ы разберешся сам наверно... По поводу ошибки - если ты создаешь MDI приложение, то главная форма должна иметь FormStyle = fsMDIForm, а дочерние fsMDIChild и не надо писать лишнего кода... Скачать приложение: http://narod.ru/disk/11512536001/Mdi...cture.rar.html |
|||||||||||||||||||||||
Сказали спасибо: |
04.05.2011, 16:21 | #8 |
Неактивный пользователь
Пол: Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
|
Re: Банальные вопросы/ответы
Возник новый вопрос: не могу запустить Debug Inspector (Инспектор отладки)
Пытаюсь вызвать Run | Inspect... и ничего не происходит по одной причине - эта кнопка (Inspect) неактивна, т. е. попросту на неё нельзя нажать. Подскажите может кто знает в чём беда? Может его (инспектор) как-то отметить надо, чтоб он был доступен или может у меня версия "порезаная" и он вовсе отсутствует? Как это проверить и узнать... |
15.06.2011, 13:45 | #9 |
Неактивный пользователь
Пол: Регистрация: 15.06.2011
Сообщений: 3
Репутация: 0
|
Re: Банальные вопросы/ответы
архангельский помоему описывает такую проблемму
|
16.06.2011, 19:01 | #10 |
Неактивный пользователь
Пол: Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
|
Re: Банальные вопросы/ответы
А по-конкретнее, что за Аорхангельский? Автор учебника по программированию?
|
21.07.2011, 13:55 | #11 |
Новичок
Пол: Регистрация: 08.04.2009
Сообщений: 3
Репутация: 0
|
Re: Банальные вопросы/ответы
Архангельский таких проблем не описывал
|
17.02.2014, 10:04 | #12 |
Неактивный пользователь
Пол: Регистрация: 19.08.2008
Сообщений: 3
Репутация: 3
|
Re: Банальные вопросы/ответы
Да, Архангельский автор учебника по Билдеру 2000
|
03.04.2014, 22:50 | #13 |
Неактивный пользователь
Пол: Регистрация: 02.04.2014
Сообщений: 6
Репутация: 0
|
Re: Банальные вопросы/ответы
Архангельский - автор нескольких учебников. И дельных, в отличии от буржуйских.
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопросы и Ответы | vasiliy | Stardock и все о нём | 69 | 10.11.2010 19:31 |
Вопросы и ответы. | igrid | Иконки и Курсоры/Icons & Cursors | 24 | 14.11.2009 23:49 |
Вопросы и Ответы об ICQ | Deementor | Хакинг в глобальной сети WWW | 32 | 11.03.2008 16:21 |
|
|