Unterprogramme in 2Forms verwenden!
-
Will ein UP, dass ich im Form1-file geschrieben habe mit einem Button Click aufrufen bekomme aber immer Fehlermeldung! Habe sicherlich in der Header- Datei etwas falsch gemacht! Wo muss ich void Startpunkt_festlegen() definieren?? Oder kompletter Blödsinn was ich versuche? mfg
//--------------------------------------------------------------------------- #ifndef kurveH #define kurveH //--------------------------------------------------------------------------- #include <Classes.hpp> #include <Controls.hpp> #include <StdCtrls.hpp> #include <Forms.hpp> #include <Menus.hpp> //--------------------------------------------------------------------------- class Tfrmbrennkurve : public TForm { __published: // Von der IDE verwaltete Komponenten TMainMenu *MainMenu1; TMenuItem *menu; TMenuItem *Neu; TMenuItem *oeffnen; TMenuItem *speichern; TMenuItem *ende; void Startpunkt_festlegen(); //hier falsch? void __fastcall NeuClick(TObject *Sender); void __fastcall endeClick(TObject *Sender); void __fastcall FormMouseDown(TObject *Sender, TMouseButton Button, TShiftState Shift, int X, int Y); private: // Anwender-Deklarationen public: int maxTemp,maxDauer; bool ok; void Startpunkt_festlegen(); //hier auch falsch!? __fastcall Tfrmbrennkurve(TComponent* Owner); }; //--------------------------------------------------------------------------- extern PACKAGE Tfrmbrennkurve *frmbrennkurve; //--------------------------------------------------------------------------- #endif
-
Hallo
mit einem Button Click aufrufen bekomme aber immer Fehlermeldung!
wie sieht der Aufruf aus? Was für eine Fehlermeldung genau?
Wo muss ich void Startpunkt_festlegen() definieren??
Was genau soll denn die Funktion/Methode machen?
Ich glaube du solltest mal nach TForm::ShowModal() schauen.
Denn du brauchst nur den Header des UP in deinem MainForm includen, dann kannst du mit dieser Methode das UP anzeigen lassen.bis bald
akari
-
In Button Click (Form2) rufe ich UP so auf:
frmbrennkurve->Startpunkt_festlegen(); //--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "kurve.h" #include "endwert.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" Tfrmbrennkurve *frmbrennkurve; #define anz=100; //--------------------------------------------------------------------------- TPoint Startpunkt, Origin; //Variablendeklaration int RR,LR,RO,RU,x,y; //Rechter-,Linker-,....-rand; x,y für Starpunkt bool Drawing; //--------------------------------------------------------------------------- __fastcall Tfrmbrennkurve::Tfrmbrennkurve(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void Startpunkt_festlegen(); void Endwerte_einlesen(); void Diagramm_zeichnen(); void Kurveneinstellung(); //--------------------------------------------------------------------------- void __fastcall Tfrmbrennkurve::NeuClick(TObject *Sender) { Endwerte_einlesen(); Diagramm_zeichnen(); Kurveneinstellung(); } //--------------------------------------------------------------------------- void Endwerte_einlesen() { frmendwerte->Show(); } void Startpunkt_festlegen() { ........ }Ist jetzt klarer? Will in Form2, dass up, das ich in Form1 habe wie oben aufrufen
so bekomme ich folgende Fehlermeldung:
[C++ Fehler] endwert.cpp(22): E2316 'Startpunkt_festlegen' ist kein Element von 'Tfrmbrennkurve'! Denke mir deshalb, dass ich void Startpunkt_festlegen in Header definieren muss!??
mfgEdit:
Bitte die Code-Tags verwenden. Danke!
-
Noname87 schrieb:
In Button Click (Form2) rufe ich UP so auf:
frmbrennkurve->Startpunkt_festlegen();...
Noname87 schrieb:
void Startpunkt_festlegen();
-
Müsste das hier nicht dasselbe sein, wie mit normalen Variablen?
Form1->Startpunkt_festlegen();
-
Hallo,
Was junix meinte ist, dass bei der Definition einer Memberfunktion der Klassenname mit angegeben werden muss. Bei Noname87 stimmen Definition und Deklaration nicht überein.
also in der cpp:void Tfrmbrennkurve::Startpunkt_festlegen() { ........ }
-
Danke! Problem gelöst! Danke für die Hilfe! mfg
-
Braunstein schrieb:
Was junix meinte ist, dass bei der Definition einer Memberfunktion der Klassenname mit angegeben werden muss.[/cpp]
Braunstein, der junix-interpreter (o; SCNR
Noname87: Wäre sich zu überlegen ob die Funktionen wirklich nach FormA oder FormB gehören, oder ob sie nicht in ein eigenes Objekt gehören auf das FormA und B zugreifen...