Как из своего класса манипулировать элементами другого класса?
класс формы. Необходимо при нажатии мышки на картинке,
изменять текст в Edit1, расположенном на форме.
Заголовочный файл картинки
#include <Classes.hpp>
#include <Controls.hpp>
#include "Unit1.h"
class TExtImage public TImage
{
public
__fastcall TExtImage(TComponent* Owner);
private
DYNAMIC void __fastcall MouseDown(TMouseButton Button, ClassesTShiftState Shift, int X, int Y);
protected
};
//---------------------------------------------------------------------------
extern PACKAGE TExtImage *ExtImage;
//---------------------------------------------------------------------------
Файл реализации картинки
#include <vcl.h>
#include "TExtImage.h"
__fastcall TExtImageTExtImage(TComponent* Owner)
TImage(Owner)
{
}
void __fastcall TExtImageMouseDown(TMouseButton Button, ClassesTShiftState Shift, int X, int Y)
{
TForm1 *CurForm = Form1;
CurForm->Edit1.Text = "Какой-то текст…";
}
Заголовочный файл формы
#ifndef Unit1H
#define Unit1H
//---------------------------------------------------------------------------
#include <Classes.hpp>
#include <Controls.hpp>
#include <StdCtrls.hpp>
#include <Forms.hpp>
#include "TExtImage.h"
//---------------------------------------------------------------------------
class TForm1 public TForm
{
__published // IDE-managed Components
TEdit *Edit1;
private // User declarations
TExtImage *MyImage;
public // User declarations
__fastcall TForm1(TComponent* Owner);
};
//---------------------------------------------------------------------------
extern PACKAGE TForm1 *Form1;
//---------------------------------------------------------------------------
#endif
Файл реализации формы
//---------------------------------------------------------------------------
#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1TForm1(TComponent* Owner)
TForm(Owner)
{
TExtImage *MyImage = new TExtImage(this);
TPicture *LoadPic = new TPicture;
LoadPic->LoadFromFile("MyPicture.bmp");
MyImage->Name = "Picture1";
MyImage->Picture = LoadPic;
MyImage->Parent = Form1;
delete LoadPic;
}
//---------------------------------------------------------------------------
При компиляции появляются следующие ошибки
[C++ Error] TExtImage.h(5) E2238 Multiple declaration for 'TExtImage'
[C++ Error] TExtImage.h(5) E2344 Earlier declaration of 'TExtImage'
[C++ Error] TExtImage.cpp(12) E2294 Structure required on left side of . or .*
[C++ Warning] TExtImage.cpp(13) W8004 'CurForm' is assigned a value that is never used
Подскажите, пожалуйста, что я делаю не так.