AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Neues Fenster erstellen

Ein Thema von martin_ · begonnen am 16. Nov 2009 · letzter Beitrag vom 17. Nov 2009
Antwort Antwort
martin_

Registriert seit: 19. Mai 2008
Ort: Österreich
89 Beiträge
 
#1

Neues Fenster erstellen

  Alt 16. Nov 2009, 12:41
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.
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#2

Re: Neues Fenster erstellen

  Alt 16. Nov 2009, 12:46
Hallo

Du kannst einfach das (Haupt-)Formular dynamisch nochmals erzeugen.
Thomas
  Mit Zitat antworten Zitat
Benutzerbild von patti
patti

Registriert seit: 20. Okt 2004
Ort: Mittelfranken
665 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Neues Fenster erstellen

  Alt 16. Nov 2009, 13:22
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?
Patrick Kreutzer
[Informatik-Student im 4. Semester]
http://www.patti-k.de/
  Mit Zitat antworten Zitat
martin_

Registriert seit: 19. Mai 2008
Ort: Österreich
89 Beiträge
 
#4

Re: Neues Fenster erstellen

  Alt 16. Nov 2009, 13:28
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:
 Application.Initialize;
 Application.CreateForm(TForm47, Form47);
 Application.Run;
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
Delphi-Quellcode:
 Form := TForm47.CreateNew(nil);
 Form.Show;
dabei wird die Initialisierung nicht durchgeführt und sobald das Hauptfenster geschlossen wird, beendet auch das neue Fenster.
Vielleicht hat noch jemand einen Tipp.

Danke für den Tipp mit ShellExecute --> Ich schaus mir an.
Edit:

Hier eine Lösung mit ShellExecute:
ShellExecute(Application.Handle, 'open', PChar(ParamStr(0)), nil, nil, SW_NORMAL);
  Mit Zitat antworten Zitat
martin_

Registriert seit: 19. Mai 2008
Ort: Österreich
89 Beiträge
 
#5

Re: Neues Fenster erstellen

  Alt 16. Nov 2009, 14:14
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?
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

Re: Neues Fenster erstellen

  Alt 16. Nov 2009, 15:08
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
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von Mithrandir
Mithrandir
(CodeLib-Manager)

Registriert seit: 27. Nov 2008
Ort: Delmenhorst
2.379 Beiträge
 
#7

Re: Neues Fenster erstellen

  Alt 16. Nov 2009, 15:15
Du solltest es wirklich mal mit Delphi-Referenz durchsuchenMDI versuchen und das Design deiner Anwendung nochmal überdenken.
米斯蘭迪爾
"In einer Zeit universellen Betruges wird das Aussprechen der Wahrheit zu einem revolutionären Akt." -- 1984, George Orwell
  Mit Zitat antworten Zitat
martin_

Registriert seit: 19. Mai 2008
Ort: Österreich
89 Beiträge
 
#8

Re: Neues Fenster erstellen

  Alt 17. Nov 2009, 10:25
Zitat von p80286:
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..........
Es geht um einen Editor und dort möchte ich den eingegebenen Text überprüfen lassen. Das Resultat soll in einer neuen Ansicht dargestellt werden. Und am einfachsten erscheint es mir den ganzen Editor mit geladen Inhalt neu zu starten. Der Benutzer kann somit auswählen, mit welcher Version er weiterarbeiten möchte.
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 von p80286:
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.
Synchoronisieren ist nicht erforderlich.
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:22 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