BCB 2009: Ereignis dynamischen Objekten zuweisen
-
Hallo,
im Hauptformular:
img[iCountImage]->OnMouseEnter = Image1MouseEnter;
entsprechend:
void __fastcall TfrmMain::Image1MouseEnter(TObject *Sender) { //Mach was }
In der Headerdatei:
__published: void __fastcall Image1MouseEnter(TObject *Sender);
Ich bekomme aber immer die Fehlermeldung: E2451 Undefiniertes Symbol 'Image1MouseEnter'
Auf die gleiche Art hatte ich es immer im BCB 6 gemacht.
Kann mir da jemand auf die Sprünge helfen ?
Vielen Dank !
-
Das kann ich nicht reproduzieren.
Welchen Typs ist img? In welcher Methode befindet sich die Zuweisung?
-
#include <vcl.h> #pragma hdrstop #include "cMain.h" #include "cImageOptions.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TfrmMain *frmMain; TPanel *panel[100]; TImage *img[100];
Über einen Button rufe ich diese Funktion auf:
void Create_Main_Typ(String sTyp, int iPosX, int iPosY) { img[iCountImage] = new TImage(frmMain); img[iCountImage]->Name = "imgT" + IntToStr(iCountImage); img[iCountImage]->Parent = frmMain; img[iCountImage]->Width = 41; img[iCountImage]->Height = 41; img[iCountImage]->Top = iPosY; img[iCountImage]->Left = iPosX; img[iCountImage]->Picture->LoadFromFile("Kreis.bmp"); img[iCountImage]->Stretch = true; img[iCountImage]->Proportional = true; img[iCountImage]->Transparent = true; //img[iCountImage]->OnMouseEnter = Image1MouseEnter; //img[iCountImage]->OnMouseLeave = Image1MouseLeave; img[iCountImage]->Show(); img[iCountImage]->BringToFront(); iCountImage++; }
-
Die Funktion Create_Main_Typ ist kein Member von frmMain und kennt demzufolge Image1MouseEnter nicht. Du mußt das also so aufrufen.
img[iCountImage]->OnMouseEnter = frmMain->Image1MouseEnter; img[iCountImage]->OnMouseLeave = frmMain->Image1MouseLeave;
oder die Funktion zum Member machen.
-
Trottel @me !
Vielen Dank