Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi nur 1 Instanz zulassen + Probleme. (https://www.delphipraxis.net/18650-nur-1-instanz-zulassen-probleme.html)

rebugger 22. Mär 2004 19:07


nur 1 Instanz zulassen + Probleme.
 
Habe einen Texteditor.
Verschiedene Dateiendungen sind mit ihm verknüpft.
Wenn ich jetzt auf eine Datei doppelt klick, öffnet er sich und lädt diese.
Wenn ich jetzt eine weitere öffne, soll er in der vorhandenen Instanz diese neue Datei laden.

Ja, ich habe schon in der Suche nach "Mutex" gesucht und auch sehr viele Codeschnippsel gefunden,
ABER es gibt ein Problem:
Bei allen CodeSchnippseln wird immer per FindWindow mein Fenster gesucht.
Das Fenster passt aber die Caption der Mainform dynamic an (also mal heißt sie "Editor [bla.txt]" oder "Editor [blas2.txt]").

Jedenfalls funktioniert keiner der Codeschnippsel.
Sie verhindern zwar den erneuten Aufruf, können aber nicht die neue Datei an die alte Instanz weiterreichen.

Versteht mich jemand ? :D
Lösungsvorschläge ?

MathiasSimmack 22. Mär 2004 19:14

Re: nur 1 Instanz zulassen + Probleme.
 
Zitat:

Zitat von rebugger
Ja, ich habe schon in der Suche nach "Mutex" gesucht und auch sehr viele Codeschnippsel gefunden,
ABER es gibt ein Problem:
Bei allen CodeSchnippseln wird immer per FindWindow mein Fenster gesucht.
Das Fenster passt aber die Caption der Mainform dynamic an (also mal heißt sie "Editor [bla.txt]" oder "Editor [blas2.txt]").

FindWindow kann aber auch nach Klassennamen suchen. Das ist der erste Parameter, und bei VCL-Programmen ist der Klassennamen mit dem Namen deiner Form identisch, bspw.
Delphi-Quellcode:
findwindow('TForm1',nil)
Ein Grund warum man möglichst für jedes Programm einzigartige Formnamen verwenden sollte, sonst wird u.U. das falsche Programm "gefunden".

Zitat:

Sie verhindern zwar den erneuten Aufruf, können aber nicht die neue Datei an die alte Instanz weiterreichen.
Hier im Forum suchenWM_COPYDATA, [df]WM_COPYDATA[/df]

NicoDE 22. Mär 2004 20:01

Re: nur 1 Instanz zulassen + Probleme.
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von rebugger
Bei allen CodeSchnippseln wird immer per FindWindow mein Fenster gesucht.

Vielleicht hilft mein altes OneInst im Anhang weiter (Das Fenster, welches die Kommandozeile haben will, meldet sich bei der zweiten Instanz zurück - kein FindWindow!).

Dani 22. Mär 2004 20:39

Re: nur 1 Instanz zulassen + Probleme.
 
Hi,

du könntest es mal mit Pipes probieren (s. MSDN -> CreateNamedPipe), vielleicht gibts sogar Komponenten, die das kapseln Suche bei Torry

:drunken: Gruß,
Dani

Christian Seehase 22. Mär 2004 21:41

Re: nur 1 Instanz zulassen + Probleme.
 
Moin rebugger,

oder guckst Du hier:

Mit Mehreren Datein ein Program Starten


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:38 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