![]() |
Form öffnen und bei ok Form neu erstellen
Hallo zusammen,
ich möchte folgendes machen, aber ich weiss nicht wie ich vogehen soll. Ich erstelle eine Form. Die Form wird geöffnet und der Benutzer kann was eingeben. Wenn ich jetzt auf OK klicke, werden die Daten gespeichert. Und danach soll die Form sich schließen und automatisch wieder öffnen. Kann mir jemand einen rat geben, wie ich das umsetzten kann? Vielen Dank! Eppos |
Re: Form öffnen und bei ok Form neu erstellen
Warum löscht du nicht einfach alle Eingaben?
|
Re: Form öffnen und bei ok Form neu erstellen
Das möchte ich nicht...
|
Re: Form öffnen und bei ok Form neu erstellen
Warum?
|
Re: Form öffnen und bei ok Form neu erstellen
evtl. geht es mit Destroy und dann wieder mit Create von dem Form...
|
Re: Form öffnen und bei ok Form neu erstellen
einfach so :wink:
|
Re: Form öffnen und bei ok Form neu erstellen
@Ferdy2003
also bei mir kommt da ne access violation... |
Re: Form öffnen und bei ok Form neu erstellen
Zeig mal deinen Code. Die Glaskugel ist beschlagen.
|
Re: Form öffnen und bei ok Form neu erstellen
es gibt nicht viel code, dass ist nur mein Versuch:
Delphi-Quellcode:
Beim Klick auf den Button soll die Maske sich schließen und dann wieder aufgehen. Wie wenn ich auf schließen klicke und das Programm wieder aufrufe...
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); begin // Recreate ausführen--- end; end. |
Re: Form öffnen und bei ok Form neu erstellen
Ich meinte eher den Teil bei dem eine Access Violation ausgelöst wird.
|
Re: Form öffnen und bei ok Form neu erstellen
könnte das nicht so in der Art funktionieren ?
Delphi-Quellcode:
bin halt auch ein Anfänger :oops:
Form1.Destroy;
Form1.Create(Form1); |
Re: Form öffnen und bei ok Form neu erstellen
Wie soll ein zerstörtes Objekt ein anderes Objekt erzeugen?
|
Re: Form öffnen und bei ok Form neu erstellen
Wäre das gut genug? Dann sieht es zumindest so aus, als täte das Form was Du willst:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin Hide; Sleep(1000); Show; end; |
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
Zitat:
|
Re: Form öffnen und bei ok Form neu erstellen
@GericasS
Delphi-Quellcode:
genau das löst ne access violation aus.
Form1.Destroy;
Form1.Create(Form1); @bluesbear Ne leider nicht, die muss richtig erstellt werden, dass in meinem Edit1 Feld die Eingaben verschwinden. Aber bitte jetzt nicht mit... Edit1.Text := ''; kommen :) |
Re: Form öffnen und bei ok Form neu erstellen
Ehrlich gesagt sehe ich auch überhaupt keinen Sinn in dem ganzen Unterfangen :gruebel: .
|
Re: Form öffnen und bei ok Form neu erstellen
Das geht im Sinne der VCL so nicht. Das kannst du recht einfach mit einem anderen, nicht als MainForm benutztes, Formular machen. Aber ich nehme an, dass Form1 deine Mainform ist.
|
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
|
Re: Form öffnen und bei ok Form neu erstellen
Ich bin mir nicht sicher aber ich würd's mal so probieren, obwohl ich trotzdem nicht verstehe warum du nicht einfach die Komponenten auf Standard zurücksetzt, aber gut.
Delphi-Quellcode:
ungetestet und bin mir auch nicht so sicher, ob das so geht. Ist es den wenigstens nicht deine MainForm?
Form1.Free;
Form1 := TForm1.Create(nil); |
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
|
Re: Form öffnen und bei ok Form neu erstellen
genau sie verschwindet und kommt nicht mehr.
@sirus Die Form1 ist nicht meine mainform, davor schalte ich noch ein fenster... |
Re: Form öffnen und bei ok Form neu erstellen
Sonst vielleicht noch ein Show dahinter.
|
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
Das neu erstellen muß Dein MainForm machen, dann klappt das. |
Re: Form öffnen und bei ok Form neu erstellen
Delphi-Quellcode:
Form1.Free;
Form1 := TForm1.Create(nil); //setz mal hier einen Breakpoint, ich glaube nicht, dass der angesprungen wird |
Re: Form öffnen und bei ok Form neu erstellen
@DeddyH
Ja er springt rein. Das Problem ist nur, wenn ich auf "X" drücke hängt er sich auf... Wie würde das funktionieren, wenn das Mainform davor geschalten wäre? |
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
|
Re: Form öffnen und bei ok Form neu erstellen
:( und warum nicht? :)
|
Re: Form öffnen und bei ok Form neu erstellen
Jeder hat seine Geheimnisse: Du, warum umbedingt das Formular neu erzeugt werden muss, und bluesbear, wie du das lösen kannst. :stupid:
|
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
Zitat:
|
Re: Form öffnen und bei ok Form neu erstellen
also ist ne lange geschicht, ich machs in kurzform. Ich habe ne form ca. 25.000 zeilen code, zig klassen und ich habe keinen Durchblick.
will ne klasse zerstören, und das tut er nicht, ich habe schon wochen verbracht. Ich glaueb das ist ein Delphi-Bug. Und jetzt muss ne Lösung her. Die Variante ohne mainform, hat ja gut funktioniert. Das Problem ist nur, dass wenn ich das Fenster auf X verlasse, dann kommt eine access violation. Wenn ich das in den griff kriegen könnte, wäre es optimal... (ohne mainform, ist doch besser) |
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
2. Du erstellst das Formular einfach immer wieder dynamisch. |
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
|
Re: Form öffnen und bei ok Form neu erstellen
@Sirus
Vielleicht ein Programmschnipsel? Darf aber dann nicht beim "X" wieder erstellt werden :) @DeddyH Das ist ja nicht meine Form, was ich geschrieben habe... Ich habe schon geschaut und versucht zu verstehen was passiert, das ist mir auch gelungen, aber ich kann die Klasse nicht zerstören. Habe wirklich sehr viel ausprobiert. Aber ich würde sagen, dass das mein letzter Ausweg ist... |
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
PS: Solch ein letzter Ausweg lässt den Nutzer dann immer wieder verzweifeln. Ich glaube Microsoft verfolgt dieselbe Strategie. |
Re: Form öffnen und bei ok Form neu erstellen
Vergiss es, Du erzählst nur Märchen,
900.000 Zeilen Code,lol aber nur wenn Du alle Units mitzählst,die Du irgendwie eingebunden hast. Vom Zählen der Zeilen mal abgesehen. ![]() in diesem Thread sollen es 25000 sein und dann post #9,rofl. Also wenn Du hier einen auf dicke Hose machen willst,dann viel Vergnügen,ohne mich. Cu //edit aber bei einem gebe ich Dir vollkommen recht: Zitat:
|
Re: Form öffnen und bei ok Form neu erstellen
Zitat:
Meine primäre Mission hier ist, herauszufinden, wie man das auf den neuesten Stand der Technik bringen kann. Delphi2007, Firebird mit FibPlus, QuantumExpress, nicht zu vergessen madExcept (das alleine wird ne Menge arbeit sparen, so klein wie es ist!)... all die Infos hab ich aus dem Forum hier. Ich hab einfach ein paar Jahre zurück gelesen. Sich auf den neuesten Stand der Technik zu bringen, wenn man mit heute etwar zehn Jahre altem Gelumpe beschäftigt war - das ist eine steile Lernkurve. Bücher kommen noch dazu. Die Zeit, wo ich hier komische fragen stellen werde, kommt erst noch :-D Das Projekt wird eine komplette Neuentwicklung sein, und damit sollen nicht nur die über die Jahre "gewachsenen" (und oft vergewaltigten, jenseits ihres ursprünglichen Zweckes missbrauchten) Datenstrukturen, sondern auch die inzwischen für Anwender viel zu kompliziert gewordene Benutzeroberfläche komplett ... öhm... naja, neu, schöner, unkomplizierter, intuitiver - also einfach besser werden. Beim Mitschreiben hier lerne ich mehr als nur vom Mitlesen. Ich kenne das noch von damals, aus dem Borlandforum von Compuserve - das war eine sehr, sehr große Hilfe, für jeden, der sich beteiligte. Ich bin vom Thema abgekommen :gruebel: Es gibt Leute hier, die haben tatsächlich soviele Zeilen Code. Nich nur alles Schüler, die zu faul sind, ihre Hausaufgaben zu machen. Aber: Ich denke, Eppos zäumt hier das Pferd von hinten auf. Versucht, Symptome zu kurieren statt die Ursache. Die Ursachen hier nachzuvollziehen wird schwierig sein, aber ich probiers mal. Nur heute nicht mehr. |
Re: Form öffnen und bei ok Form neu erstellen
Keine Ahnung was Du mir jetzt erzählen willst bluesbar,aber was eine Konsolen-Anwendung ist
sollte Euch doch bekannt sein,oder? Für noobs:Konsolenanwendung besitzt keine Forms, aber man kann (wenn man kann) Forms damit erstellen. //edit Noch einfacher geht's wenn man die Projektdatei editiert siehe Frames viel Spass |
Re: Form öffnen und bei ok Form neu erstellen
:mrgreen: Jou!
|
Re: Form öffnen und bei ok Form neu erstellen
@bluesbaer
Wenn du nicht zum Thema etwas produktives Beitragen möchtest, dann halte doch einfach deine klappe! Das Hilft mir mehr. Danke dafür! @alle anderen Danke Ihr habt mir weiterhelfen können. Viele Grüße, Eppos |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz