Exception bei Zugriff auf StringGrid
-
Hallo,
ich benutze ja seit kurzem den BCB2007.
Jetzt habe ich ein StringGrid auf meinem Formular.
Habe eine neue Unit eingefügt, wo Programmcode abgehandelt wird.Wenn ich in der zweiten Unit meine StringGrid aus Unit1 ansprechen will, bekomme ich eine Exception, obwohl es korrekt angenommen wird.
Ein Auszug:
//Unit2.cpp #pragma hdrstop #include "Unit2.h" #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) //--------------------------------------------------------------------------- void optimierung() { AnsiString c = Form1->StringGrid1->Cells[0][0]; int n = StrToFloat(Form1->StringGrid1->Cells[0][0]); }Beide Befehle ergeben eine Exception, obwohl ich doch korrenkt "Unit1.h" inkludiert habe. In der ersten Unit habe ich "Unit2.cpp" inkludiert, da ich daraus Funktionen benutze.
Übersehe ich etwas entscheidendes?
Danke und liebe Grüße
-
Wann rufst du denn diese Funktion auf? Ist das Formular 'Form1' dann schon korrekt erzeugt worden (oder ist Form1 gleich 0)?
Du solltest lieber diese Funktion als Methode von 'TForm1' definieren (da sie ja direkt auf Form1 zugreift) oder aber alternativ das Formular bzw. das StringGrid als Parameter übergeben (damit sie unabhängig von Form1 arbeitet).
-
Hallo,
war ein Flüchtigkeitsfehler. Habe vergessen in Unit2.h die Funktionsprototypen anzugeben. Deshalb habe ich in Unit.cpp nicht Unit2.h inkludiert sondern die Unit2.cpp. Nachdem das alles bereinigt wurde, funktioniert alles.
Danke