Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Mehrfachstart der Delphi IDE verhindern (https://www.delphipraxis.net/198367-mehrfachstart-der-delphi-ide-verhindern.html)

Harry Stahl 27. Okt 2018 18:02

Mehrfachstart der Delphi IDE verhindern
 
Gibt es eine Möglichkeit den Mehrfachstart der Delphi-IDE zur verhindern?

Ich würde bestimmte Projekte z.T. gern von Extern in Delphi laden, aber möchte nicht, dass die IDE noch mal startet, sondern dass das aktuelle Projekt geschlossen wird und statt dessen das geladen wird, welches man von extern (z.B. per Shellexecute) aufgerufen hat.

EWeiss 27. Okt 2018 18:18

AW: Mehrfachstart der Delphi IDE verhindern
 
Normalerweise funktioniert das zumindest mit Doppelklick aus dem Explorer heraus.
Das alte Projekt wird zwar nicht entfernt aber das neue addiert.

Bei mir mit D2010. (Win7)

Was ich aber festgestellt habe unter Win10 kann ich nicht einmal mit Doppelklick eine andere Unit in der IDE einladen.
Ob das jetzt an der Comunity Edition liegt oder generell nicht funktioniert, oder es an Win10 liegt habe ich noch nicht herausgefunden.
Erst wenn ich das alte Projekt also die IDE vorher schließe kann ich mit Doppelklick eine andere Unit öffnen.

Wie man das alte Projekt jedoch vorher entfernt kann ich leider auch nicht sagen.

EDIT:
Nur wenn ich eine Projektgruppe mit Doppelklick öffne wird das alte Projekt vorher geschlossen.

gruss

Harry Stahl 27. Okt 2018 19:06

AW: Mehrfachstart der Delphi IDE verhindern
 
Interessant, zumindest also wenn man eine Projektgruppe geöffnet hat, kann man z.B. per Drag und Drop eine andere Projektgruppe auf Delphi ziehen und dann wird die alte Projektgruppe geschlossen und die neue geöffnet (gerade mal mit XE7 probiert).

EWeiss 27. Okt 2018 19:09

AW: Mehrfachstart der Delphi IDE verhindern
 
Zitat:

Zitat von Harry Stahl (Beitrag 1416901)
Interessant, zumindest also wenn man eine Projektgruppe hat, kann man z.B. per Drag und Drop eine andere Projektgruppe auf Delphi ziehen und dann wird die alte Projektgruppe geschlossen und die neue geöffnet (gerade mal mit XE7 probiert).

Sollte dann auch mit Shellexecute funktionieren.
Vielleicht kannst du der IDE ja vorgaukeln das dein über Shellexecute gestartetes Projekt eine Projektgruppe ist.

Aber wie gesagt kann es nicht testen bei mir unter Win10 geht da gar nichts vernünftig.

gruss

Harry Stahl 27. Okt 2018 19:12

AW: Mehrfachstart der Delphi IDE verhindern
 
Nein, per ShellExecute startet dann ein neues Projekt (zumindest hier gerade mit XE7 oder Delphi 10.2).

Aber so eine richtige Lösung wäre das auch mit mit den Projektgruppen. Will ich da jetzt nicht extra anlegen (habe ja zig dutzende normale Projekte).

jaenicke 28. Okt 2018 08:10

AW: Mehrfachstart der Delphi IDE verhindern
 
Zitat:

Zitat von Harry Stahl (Beitrag 1416897)
Ich würde bestimmte Projekte z.T. gern von Extern in Delphi laden, aber möchte nicht, dass die IDE noch mal startet

Wenn ich ShellExecute aufrufe, passiert das bei mir auch nicht:
Delphi-Quellcode:
  ShellExecute(Handle, 'open', 'J:\Embarcadero\Studio\Projekte\Project1.dproj', '', '', SW_SHOWNORMAL);
//
Bei älteren Delphiversionen hat es noch einen Unterschied gemacht, ob man die .dpr oder die .dproj benutzt hat, (es wurde das Projekt einzeln geöffnet oder in die aktive Projektgruppe gesetzt) bei Delphi 10.2 wird das Projekt immer in die Projektgruppe hinzugefügt.

Vielleicht wäre es erfolgversprechender ein IDE Addon zu benutzen und diesem Befehle von außen zu geben...

dummzeuch 28. Okt 2018 09:06

AW: Mehrfachstart der Delphi IDE verhindern
 
Eigentlich habe ich immer nur das umgekehrte Problem: Ich will ein neues Projekt in einer neuen IDE-Instanz öffnen, aber es landet als zweites (n-tes) Projekt in der existierenden Projektgruppe.

Es gibt im Prinzip zwei Arten, die IDE zu starten:
  • direkter Aufruf von .\bin\bds.exe
  • Aufruf von .\bin\BDSLauncher.exe

Ersteres startet zuverlässig eine neue Instanz. BDSLauncher versucht anscheinen clever zu sein und öffnet fast immer das Projekt in einer bereits laufenden Instanz. BDSLauncher wird auch vom Installer als Standardprogramm zum Öffnen von .dpr und .drpoj eingetragen.

Harry Stahl 28. Okt 2018 18:19

AW: Mehrfachstart der Delphi IDE verhindern
 
Gerade hier mal schnell getestet, leider startet auch bdslauncher.exe eine zweite Instanz... (also mit .dpr)

Außerdem startet hier BDSLauncher nicht zuverlässig, zumindest, wenn auch eine andere Delphi-Version läuft.

Harry Stahl 28. Okt 2018 19:10

AW: Mehrfachstart der Delphi IDE verhindern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von jaenicke (Beitrag 1416955)

Vielleicht wäre es erfolgversprechender ein IDE Addon zu benutzen und diesem Befehle von außen zu geben...

Ein bekanntes Tools gibt es da wohl nicht. Ich selber kenne mich da leider nicht aus, müsste dann zudem für alle Delphis etwas entwickeln, da ich ja ggffls. jedes Delphi so starten möchte, dass es nicht mit einer weiteren Instanz startet.

Zur Erläuterung: Bin gerade dabei meine eigene Projektverwaltung etwas aufzubohren, ich möchte letztlich jedes Delphi, dass ich gerade auf einem PC habe, so nutzen können: Projekt auswählen und dann entscheiden, welches Delphi das Projekt öffnet (siehe anliegenden Screenshot).

Harry Stahl 28. Okt 2018 21:50

AW: Mehrfachstart der Delphi IDE verhindern
 
Liste der Anhänge anzeigen (Anzahl: 1)
Na, ich habe mir mal jetzt eine Notlösung zusammengebastelt. Habe mich an ein Uralt-Tools von mir zum Senden von Keystrokes erinnert. Da habe ich mir für jede IDE ein Makro geschrieben. Mein Pascal Project Manager Programm prüft, ob die gewünschte IDE schon läuft. Falls Ja, wird diese nicht noch mal per ShellExecute gestartet, statt dessen wird per ShellExecute mein MakroHexe-Programm gestartet, welches als Parameter1 den Namen des Passenden Macros erhält und als zweiten Parameter die zu öffnenden Projekt-Datei (siehe anl. Screenshot).

Nicht schön, funktioniert aber....


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 Uhr.
Seite 1 von 2  1 2      

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