Problem mit auf Formen zugreifen oderso^^
-
äm ich meine
#include "Unit1.cpp"wenn ich da Unit1.h reinschreibe kommt:
Abnormal termination
(1000 Fehlermeldung)
C++ Builder im Arsch^^und ich hab das eigentlich immer mit .cpp gelernt.
und form2 wird automatisch erzeugt
-
G G O schrieb:
und ich hab das eigentlich immer mit .cpp gelernt.
und wer verbreitet so nen quatsch?
-
Ich hab eben nochmal "Unit1.h" probiert.
Also der stürzt dabei total ab. Und dann is mein Programm kaputt...
-
Wie hast Du dein File-Objekt initialisiert ?
-
Welches File-Objekt? Meins du Unit2.cpp?
-
Also ich hab jetzt den C++ Builder 6 neu installiert. Hab das ausprobiert mit einfügen
#include "Unit2.h"und scho wieda: Abnormal Termination etc. pp. und Absturz des C++ Builders. Kennt jemand das Problem?
-
das liegt nicht daran. du hast sicherlich an ganz anderen stellen ein haufen bugs eingebaut, aber solange du immer nur die eine zeile code postest, kann dir keiner helfen.
-
wie erzeugst du dein dynamisches fenster?
also die Unit2.h
gruß gerd
-
Ok, ok ich Poste das ganze Programm
@ Sunday
In Form2 hab ich nur einen Button mit dem BefehlForm1->Timer1->Enabled = true;Und in Form1 ist nichts anderes als der Timer (der macht auch nichts).
Zufrieden? Mehr is dat nich.Das Fenster wird automatisch erzeugt.
Es liegt auch net am Timer (mit anderen Sachen geht das auch nich) und beim *.h stürzt der ab. So: wissen jetzt alle was ich meine?
-
G G O schrieb:
Ok, ok ich Poste das ganze Programm
Wo ist es denn? Wo sind die unit1.h, die unit1.cpp, die unit2.h und die unit2.cpp? Sehe ich hier nix von. Wer weiß, was Du da alles reingetippselt hast...
G G O schrieb:
So: wissen jetzt alle was ich meine?
Nein.
-
MUAAA!!!!

Ich habe nirgendwo etwas reingetippselt....
Wieso glaubt ihr mir eigentlich nicht?So und das mit dem ganzen Programm hab ich nicht gemacht weil ich eingentlich dachte ihr würdet mir glauben^^
Aber da ich eines besseren belehrt wurde hier das Programm:Form 2
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit2.h" #include "Unit1.cpp" //is egal ob mit *.cpp oder mit *.h, stürzt immer ab //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm2 *Form2; //--------------------------------------------------------------------------- __fastcall TForm2::TForm2(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm2::Button1Click(TObject *Sender) { Form1->Timer1->Enabled = true; } //---------------------------------------------------------------------------Form1
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer1Timer(TObject *Sender) { Timer1->Enabled = false; } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { } //---------------------------------------------------------------------------So... Soll ichs noch in andere Sprachen übersetzen oder reicht das? (Es gibt gute übersetzungstools im Internet)
-
G G O schrieb:
Mehr is dat nich.
dann scheint ja schonmal form2 nicht zu wissen, dass es form1 gibt...
-
@Sunday: Ich gebs auf... Du hast gewonnen... Ich halt das nicht mehr aus...
-
also in form1 muss #include "Unit2.h" mit rein. wenn du von unit2 auch auf unit 1 zugreifen willst dann sollte dort #include "Unit1.h" rein, und glaube es uns, dass es die header datei ist, und nicht die cpp, die inkludiert werden muss.
gruß gerd
-
???
- mach aus dem #include "Unit1.cpp" ein #include "Unit1.h".
- lösche alle temp. projektdateien (*.obj, .#, *.tds) auch im borland-lib verzeichnis (dort die *.csm, .#)
- neu kompilieren
- wenn fehler weg okay, wenn nicht ein ganz neues projekt anlegen und dort ne 2. form einfügen und diese anzeigen lassen
- bescheid geben wenn das geht oder nicht
-
Vielen Dank.
Endlich maln Post mit dem ich was anfangen kann^^
Ich habe deine Antwort so verstanden, dass ich *.cpp und *.h includen soll.
Gemacht und selbe Fehlermeldung als wenn ich nur *.cpp reingeschrieben hätte.
-
mach aus dem #include "Unit1.cpp" ein #include "Unit1.h".
wie kannst du aus obiger Aussage das
" dass ich *.cpp und *.h includen soll. "
verstehen?? Es werden üblicherweise nur *.h includiert. *.cpp werden ins Projekt mit aufgenommen. Im übrigen gibt es dafür den Menüpunkt "Unit-Header einbinden"
-
Hallo
Sunday schrieb:
- mach aus dem #include "Unit1.cpp" ein #include "Unit1.h".
G G O schrieb:
Ich habe deine Antwort so verstanden, dass ich *.cpp und *.h includen soll.
@ G G O : Lies dir das nochmal durch.
/Edit : zu spät, aber fast das gleiche

bis bald
akari
-
Danke Sunday

jetzt geht es^^, nachdem ich die dateien in lib gelöscht habe bleibt die Fehlermeldung beim *.h aus und es klappt alles.
Vieln Dank^^