Компьютерный форум NoWa.cc Здесь может быть Ваша реклама
Правила Форума
редакция от 22.06.2020
Форум .::NoWa.cc::.
Вернуться   Компьютерный форум NoWa.cc > В помощь вебмастеру > Программирование > Borland C++ Builder

Уважаемые пользователи nowa.cc. Мы работаем для вас вот уже более 20 лет и сейчас вынуждены просить о помощи на оплату сервера.
Окажите посильную поддержку, мы очень надеемся на вас. Реквизиты для переводов ниже.
Webmoney Webmoney WMZ: 826074280762 Webmoney WME: 804621616710
Кошелёк для вашей помощи YooMoney 4100117770549562
YooMoney Спасибо за поддержку!
Ответ
 
Опции темы Опции просмотра 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)
hiderline вне форума
 
Ответить с цитированием Вверх
Здесь может быть Ваша реклама
Здесь может быть Ваша реклама


Реклама: MSI Pro H610M-Eкокон кресло подвесное купитьОбратите внимание на это предложение: стойки для одежды - лучший магазин мебели, большой выбор, выгодные цены!супермен и лоис смотреть 4 сезондоска объявлений для улицы


Старый 28.04.2011, 08:33   #2
BookkeeperW
Пользователь
 
Пол:Мужской
Регистрация: 26.03.2008
Сообщений: 67
Репутация: 28
По умолчанию Re: Банальные вопросы/ответы

Цитата:
Сообщение от hiderline Посмотреть сообщение
При компилировании следующего фрагмента текста.
По нажатию кнопки окно 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)

Напиши так наверно:

void __fastcall TPMEForm::ButtonClick(TObject *Sender)
{
Memo1->Visible = Memo1->Visible ? false : true;
}
BookkeeperW вне форума
 
Ответить с цитированием Вверх
Старый 28.04.2011, 09:45   #3
hiderline
Неактивный пользователь
 
Пол:Мужской
Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
По умолчанию Re: Банальные вопросы/ответы

Да пробовал я и тернарные выражения - не помогло
hiderline вне форума
 
Ответить с цитированием Вверх
Старый 28.04.2011, 10:11   #4
BookkeeperW
Пользователь
 
Пол:Мужской
Регистрация: 26.03.2008
Сообщений: 67
Репутация: 28
По умолчанию Re: Банальные вопросы/ответы

Цитата:
Сообщение от hiderline Посмотреть сообщение
Да пробовал я и тернарные выражения - не помогло

Размести на форме 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..
BookkeeperW вне форума
 
Ответить с цитированием Вверх
Старый 29.04.2011, 09:05   #5
hiderline
Неактивный пользователь
 
Пол:Мужской
Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
По умолчанию Re: Банальные вопросы/ответы

Спасибо, всё работает!
hiderline вне форума
 
Ответить с цитированием Вверх
Старый 29.04.2011, 14:05   #6
hiderline
Неактивный пользователь
 
Пол:Мужской
Регистрация: 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
Что-то типа нарушение доступа к классам или как это понимать, помогите пожалуйста...
hiderline вне форума
 
Ответить с цитированием Вверх
Старый 30.04.2011, 11:02   #7
BookkeeperW
Пользователь
 
Пол:Мужской
Регистрация: 26.03.2008
Сообщений: 67
Репутация: 28
По умолчанию Re: Банальные вопросы/ответы

Цитата:
Сообщение от hiderline Посмотреть сообщение
Тренируюсь, выполняю простенькие задачки...

У меня не установлены старые версии C++ Builder, рисую в C++ Builder Xe...

Вот накидал маленькое приложение, попробуй скачать и посмотреть...
Я думаю что работать будет и на ранних версиях Builder. Проект создай свой, а код функций скопируй и исправь что нужно, должно работать. С размерами ChildForm`ы разберешся сам наверно...

По поводу ошибки - если ты создаешь MDI приложение, то главная форма должна иметь FormStyle = fsMDIForm, а дочерние fsMDIChild и не надо писать лишнего кода...

Скачать приложение:

http://narod.ru/disk/11512536001/Mdi...cture.rar.html
BookkeeperW вне форума
 
Ответить с цитированием Вверх
Старый 04.05.2011, 16:21   #8
hiderline
Неактивный пользователь
 
Пол:Мужской
Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
По умолчанию Re: Банальные вопросы/ответы

Возник новый вопрос: не могу запустить Debug Inspector (Инспектор отладки)
Пытаюсь вызвать Run | Inspect... и ничего не происходит по одной причине - эта кнопка (Inspect) неактивна, т. е. попросту на неё нельзя нажать.
Подскажите может кто знает в чём беда? Может его (инспектор) как-то отметить надо, чтоб он был доступен или может у меня версия "порезаная" и он вовсе отсутствует? Как это проверить и узнать...
hiderline вне форума
 
Ответить с цитированием Вверх
Старый 15.06.2011, 13:45   #9
artmark
Неактивный пользователь
 
Пол:Мужской
Регистрация: 15.06.2011
Сообщений: 3
Репутация: 0
По умолчанию Re: Банальные вопросы/ответы

архангельский помоему описывает такую проблемму
artmark вне форума
 
Ответить с цитированием Вверх
Старый 16.06.2011, 19:01   #10
hiderline
Неактивный пользователь
 
Пол:Мужской
Регистрация: 17.08.2010
Адрес: Томск
Сообщений: 11
Репутация: 0
По умолчанию Re: Банальные вопросы/ответы

А по-конкретнее, что за Аорхангельский? Автор учебника по программированию?
hiderline вне форума
 
Ответить с цитированием Вверх
Старый 21.07.2011, 13:55   #11
zashiki2009
Новичок
 
Пол:Мужской
Регистрация: 08.04.2009
Сообщений: 3
Репутация: 0
По умолчанию Re: Банальные вопросы/ответы

Архангельский таких проблем не описывал
zashiki2009 вне форума
 
Ответить с цитированием Вверх
Старый 17.02.2014, 10:04   #12
Techus
Неактивный пользователь
 
Пол:Мужской
Регистрация: 19.08.2008
Сообщений: 3
Репутация: 3
По умолчанию Re: Банальные вопросы/ответы

Да, Архангельский автор учебника по Билдеру 2000
Techus вне форума
 
Ответить с цитированием Вверх
Старый 03.04.2014, 22:50   #13
Al_Tim
Неактивный пользователь
 
Пол:Мужской
Регистрация: 02.04.2014
Сообщений: 6
Репутация: 0
По умолчанию Re: Банальные вопросы/ответы

Архангельский - автор нескольких учебников. И дельных, в отличии от буржуйских.
Al_Tim вне форума
 
Ответить с цитированием Вверх
Ответ


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопросы и Ответы 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

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:21. Часовой пояс GMT +3.


Copyright ©2004 - 2024 NoWa.cc

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, vBulletin Solutions, Inc. Перевод: zCarot
Время генерации страницы 0.12351 секунды с 11 запросами