Ein Form mehrfach laden
-
akari schrieb:
ja, statt Show() sollte wohl ShowModal() aufgerufen werden.
Hmm.. weiß net obs nu daran liegt.. auf jeden Fall kann ich jetzt gar net mehr zum Form1 um ein weiteres Fenster zu öffnen

-
Hallo
dann schau dir mal in der Borland-Hilfe an, was TForm::ShowModal() macht.
Ansonsten must du wirklich das delete an eine endere Stelle verlegen, nämlich dann wenn du das entprechende Fenster schließt.
Eventuell wäre ja eine MDI-Anwendung für dich das bessere Konzept.bis bald
akari
-
Hatte doch
myform->Show(); ... delete form;geschrieben. Die ... bedeuten, dass dazwischen was kommt und der Zeiger freizugeben ist.
Du kannst den Zeiger global anlegen, im Konstruktor initialisieren und im Destruktor löschen. So kann du Show() verwenden ohne in der Funktion ein delete zu machen
-
Christian211 schrieb:
Du kannst den Zeiger global anlegen, im Konstruktor initialisieren und im Destruktor löschen. So kann du Show() verwenden ohne in der Funktion ein delete zu machen
Das klingt gut. Nur wie global anlegen? Sorry... ich steh irgendwie aufm Schlauch...
-
Hi Christian,
scheinst ja jetzt auch öfter hier zu sein...
Es hatte dir doch keiner einen Vorwurf gemacht. Es war einfach ein Mißverständnis von Shevron. Wie das eben so ist, wenn man sich nicht die Mühe macht, sich intensiv mit den Grundlagen auseinander zu setzen, bevor man sich an ein GUI-Projekt wagt.Allein diesen Satz find ich sehr treffend:
shevron schrieb:
Das mit new haben mir schon mehrere Leute gesagt... scheint also der richtige Ansatz zu sein...
Noch jemand, der keine F1-Taste auf seiner Tastur hat... Oder der einfach zu faul ist, sie zu benuten. Ich kann mir nichr vorstellen, dass man an new und delete vorbeikommt, wenn man auch nur ein einziges Grundlagentutorial durcharbeitet.
Sorry, Shevron, aber Du mußt zuerst ein paar Grundlagen lernen. So führt jede Antwort von uns nur zu 2 Neuen Fragen. Und die werden alle ausführlichst in Grundlagentutorials beantwortet.
-
Nach 2 Jahren Programmierung sollte man meinen es zu können nicht wahr?

Aber wie schon gesagt.. mein Lehrer war nicht so die Granate...
-
Sollte man tatsächlich meinen... Es ist mir schleierhaft, wie man 2 Jahre lang C++ lernen kann, ohne einmal mit Themen, wie 'Lebensdauer von Variablen' oder 'Dynamische Instanzen von Objekten' in Kontakt zu geraten.
Wie auch immer, es kann nicht schaden, die Lücken mit einem Tutorial zu schließen. Müßte doch recht schnell gehen.
-
joa mach ich jetzt auch mal.. also bis gleich ^^
-
Habe micht auch gar nicht "vorgeworfen" gefühlt

Hier nochmal alles genau für shevron:
Alternative 1 globaler Zeiger
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; Irgendwas *zeiger; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { zeiger=new Irgendwas; } //--------------------------------------------------------------------------- TForm1::~TForm1() { delete zeiger }Alternative 2 Bestandteil der Klasse. Hier wird der Zeiger in der *.h definiert:
class TForm1 : public TForm { __published: // Von der IDE verwaltete Komponenten private: Irgendwas *zeiger; // Anwender-Deklarationen public: // Anwender-Deklarationen __fastcall TForm1(TComponent* Owner); ~TForm1(); };Im Konstuktor und Destruktor bleibt es wie es ist.
-
Danke Christian... Werde denk ich mal so verfahren...
Ich les mir jetzt aber glaub ich trotzdem mal besser Tuts und so durch...
Gibts ja nicht.. was hatte ich da nur fürn Stumpf-Lehrer?
Naja... wenn man nicht alles selber macht
Trotzdem danke Jungs

Ich bleib tapfer am Ball