AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Restart eines Delphi Frames oder Formulars
Thema durchsuchen
Ansicht
Themen-Optionen

Restart eines Delphi Frames oder Formulars

Ein Thema von XDF900 · begonnen am 10. Nov 2003 · letzter Beitrag vom 22. Nov 2003
Antwort Antwort
Seite 1 von 2  1 2      
XDF900

Registriert seit: 10. Nov 2003
8 Beiträge
 
#1

Restart eines Delphi Frames oder Formulars

  Alt 10. Nov 2003, 18:02
Hallo zusammen!

Ich habe folgendes Problem, bei dem ich nicht weiterkomme:
Ich habe ein Delphi-Frame, das mehrmals benutzt werden soll. Zur Laufzeit soll es jedoch neugestartet werden, also auf die Anfangswerte zurückgesetzt werden.
Bis jetzt habe ich dazu keine Methode gefunden, die so etwas ermöglicht.
Vielleicht kann mir jemand von euch helfen?

Heinz
  Mit Zitat antworten Zitat
Alexander

Registriert seit: 28. Aug 2002
Ort: Oldenburg
3.513 Beiträge
 
Turbo Delphi für .NET
 
#2

Re: Restart eines Delphi Frames oder Formulars

  Alt 10. Nov 2003, 18:05
Kannst du den vielleicht noch mal neu Createn? DAnn müsste er zurückgesetzt werden.
So mache ich das zumindest bei normalen Forms.
Alexander
  Mit Zitat antworten Zitat
XDF900

Registriert seit: 10. Nov 2003
8 Beiträge
 
#3

Re: Restart eines Delphi Frames oder Formulars

  Alt 15. Nov 2003, 22:17
Das ist mir nicht klar... wie kann ich genau ein Formular neustarten bzw. alle Variablen per Reset wieder auf die Ausgangswerte stellen?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Restart eines Delphi Frames oder Formulars

  Alt 15. Nov 2003, 22:22
Moin Heinz,

Zitat von XDF900:
wie kann ich genau ein Formular neustarten bzw. alle Variablen per Reset wieder auf die Ausgangswerte stellen?
z.B. in dem Du das Formular nicht in der Projektdatei (DPR) erzeugen lässt, sondern bei Bedarf selber erzeugst (Methode Create), und sobald Du es nicht mehr benötigst wieder freigibst (Methode Free oder Prozedure FreeAndNil).

Meist wird ein Formular ja im OnCreate oder OnShow Event initialisiert, so dass dieses bei jedem Erzeugen neu geschieht.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
XDF900

Registriert seit: 10. Nov 2003
8 Beiträge
 
#5

Re: Restart eines Delphi Frames oder Formulars

  Alt 15. Nov 2003, 22:37
Danke für deine Antwort!

Aber wenn ich die Methode Create nutzen soll, muss ich einen Besitzer angeben.

Beispielsweise
Form1.Create(Besitzer);

Welches Formular oder welchen Programmteil muss ich dort als Besitzer eintragen?
  Mit Zitat antworten Zitat
Bernd Ua

Registriert seit: 10. Nov 2003
Ort: Lindhorst
87 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Restart eines Delphi Frames oder Formulars

  Alt 15. Nov 2003, 22:58
Zitat:
Beispielsweise
Form1.Create(Besitzer);
Würde ich so nicht tun. Alle Delphi Klassen werden durch Klassename + Konstruktoraufruf erzeugt.
In Deinem Beispiel also höchstens

Code:
Form1 := TForm1.Create(nil);
Der Eigentümer ist für die Freigabe des Formulars verantwortlich.
Wenn da kein logischer Eigentümer ist nimm nil ( entspricht NULL/ nothing in anderen Sprachen)
oder Application bzw. Application.MainForm

Für das Hauptformular solltest Du das aber nicht tun

Bernd
Bernd Ua
  Mit Zitat antworten Zitat
XDF900

Registriert seit: 10. Nov 2003
8 Beiträge
 
#7

Re: Restart eines Delphi Frames oder Formulars

  Alt 15. Nov 2003, 23:06
Hallo Bernd!

Danke für deine Antwort!

Für die "weniger wichtigen" Formulare ist das sicherlich eine gute Möglichkeit. Aber leider suche ich nach einem Weg, das Hauptformular neuzustarten und bin da ein wenig ratlos, da ich mich in diesem Bereich nicht so gut auskenne.
  Mit Zitat antworten Zitat
bombjack

Registriert seit: 10. Nov 2003
Ort: Dresden
6 Beiträge
 
Delphi 5 Professional
 
#8

Re: Restart eines Delphi Frames oder Formulars

  Alt 15. Nov 2003, 23:28
Also so ganz schlau bin ich noch nicht geworden was du eigentlich willst.
Du hast ein Formular erstellt, das während der Laufzeit gleich bleibt (nur Listen oder sonstige Elemente bzw. Einträge ändern sich) - sehe ich das richtig?

Dann solltest du einfach einen Button erstellen und wenn der gedrückt(geklickt) wird, dann setzt du alle nötigen Properties auf Standard-Werte. Evtl. macht es Sinn die einfach einmal festzulegen und dann halt einmal bei Programm-Start und halt beim drücken des Buttons wieder darauf zu setzen. (eigene procedure)

Gib mal ein Beispiel was du genau erreichen willst, dann ist es sicher einfacher den richtigen Tip zu geben.

mfg,
bjk.
Wenn Sie glauben, Sie hätten mich verstanden, dann habe ich mich falsch ausgedrückt!
  Mit Zitat antworten Zitat
XDF900

Registriert seit: 10. Nov 2003
8 Beiträge
 
#9

Re: Restart eines Delphi Frames oder Formulars

  Alt 16. Nov 2003, 10:19
Folgendes möchte ich konkret:

Ich habe ein Delphiformular, dass vom Nutzer benutzt wird. Der Nutzer verändert zum Beispiel Listen und daraus folgenden Änderungen in den Labelfeldern und ähnlichem.

Wenn sich der Nutzer nun entscheidet, dass Programm noch einmal mit neuen Werten zu nutzen, sollen alle Labelfelder und alle anderen benutzten Objekte auf ihre Anfangswerte gestellt werden, wenn der Benutzer auf einen Button drückt.

Man könnte jetzt natürlich jedem einzelnen Objekt die Startwerte zuweisen, beispielsweise Label1.Caption:='';
Für etwa 50 Labelfelder mit unterschiedlichen Namen, zahlreiche Listen und ähnlichem ist das aber relativ aufwändig. Daher meine Frage: Gibt es da eine elegantere und vor allem weniger programmieraufwändige Möglichkeit?
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#10

Re: Restart eines Delphi Frames oder Formulars

  Alt 16. Nov 2003, 11:04
Zitat von XDF900:
...Gibt es da eine elegantere und vor allem weniger programmieraufwändige Möglichkeit?
Hai XDF900,

die Antwort lautet JAEIN. Du musst deine Variablen, und Objekteigenschaften schon selber wieder auf ihre Startwerte setzen.
Wenn Du mehrere Objekte vom selben Typ hast versuche es mal mit FindComponent

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
 i : Integer;
begin
  for i := 1 to 10 do
   begin
    TEdit(FindComponent('Edit' + IntToStr(i))).Text := '';
  end;
end;
Dieser Code setzt zum Beispiel die Eigenschaft Text von Edit1 bis Edit10 auf '';
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz