![]() |
Neues Fenster erstellen
Hallo,
ich möchte folgende Funktionalität realisieren. Zb. beim Internet Explorer Datei --> Neues Fenster oder wie in Word Datei --> Neu. Dh. das gesamte Projekt inkl. Menü soll beliebig oft neu erstellt werden. Das müssten mehrere Instanzen vom Projekt sein? Wie lautet der Befehl dazu? Danke. |
Re: Neues Fenster erstellen
Hallo
Du kannst einfach das (Haupt-)Formular dynamisch nochmals erzeugen. |
Re: Neues Fenster erstellen
Oder alternativ die Anwendung erneut starten. Schau dir dazu mal ShellExecute an (hab jetzt gerade die Parameter für die Funktin nicht im Kopf, sonst würd ich's dir genauer erklären).
MFG Edit: Oder wie wäre es mit einer MDI-Anwendung? |
Re: Neues Fenster erstellen
Zum Test hab ich eine neue VCL-Formularanwendung erstellt und darauf einen Button. Das Formular wird mittels Objektinspektor erstellt. Beim Aufruf der einzelnen Schritte wird zuerst
Delphi-Quellcode:
ausgeführt. Und eigentlich müsste es genügen diesen Teil ins Ereignis vom Button zu kopieren, tut es aber nicht. Als nächstes habe ich versucht nur das Formular neu zu erstellen zb. mit
Application.Initialize;
Application.CreateForm(TForm47, Form47); Application.Run;
Delphi-Quellcode:
dabei wird die Initialisierung nicht durchgeführt und sobald das Hauptfenster geschlossen wird, beendet auch das neue Fenster.
Form := TForm47.CreateNew(nil);
Form.Show; Vielleicht hat noch jemand einen Tipp. Danke für den Tipp mit ShellExecute --> Ich schaus mir an. Edit: Hier eine Lösung mit ShellExecute:
Delphi-Quellcode:
ShellExecute(Application.Handle, 'open', PChar(ParamStr(0)), nil, nil, SW_NORMAL);
|
Re: Neues Fenster erstellen
Im Projekt befindet sich noch eine Memo Komponete mit Inhalt. Wie schaffe ich es den Text zu übergeben bzw. eine Funktion im neuen Programm aufzurufen?
|
Re: Neues Fenster erstellen
Hallo Martin,
entschuldige, das erscheint mir ein wenig wirr, warum sollte der Inhalt eines Memos der einen Instanz auch in einem Memo einer weiteren Instanz auftauchen, und was wenn eine dritte, vierte.......... Ansonsten, aus Deiner Frage entnehme ich, daß der Memoinhalt nicht aus einer Datei gelesen wird, dann würde ich Dir zu Pipes raten, aber wie Du das ordentlich synchronisieren willst, ist mir schleierhaft. Gruß K-H |
Re: Neues Fenster erstellen
Du solltest es wirklich mal mit
![]() |
Re: Neues Fenster erstellen
Zitat:
Eine andere Möglichkeit wäre es mit einem TPagecontrol und 2 TTabsheet zu arbeiten. Der Editor ist allerdings nur für ein SDI ausgelegt. Daher müsste die gesamte Logik (Datenhaltung) dahinter für diese eine Funktionalität angepasst werden, und das möchte ich mir ersparen. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:19 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