AGB  ·  Datenschutz  ·  Impressum  







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

Exe Start / out of Process

Ein Thema von hanspeter · begonnen am 28. Jan 2010 · letzter Beitrag vom 28. Jan 2010
Antwort Antwort
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#1

Exe Start / out of Process

  Alt 28. Jan 2010, 19:55
Hallo,
gibt es eine Möglichkeit in einer Exe herauszubekommen, wie diese gestartet wurde?
Über Shell oder als Com-Server?

In dem Programm gibt es eine Mainform mit Menüs, Toolbutton u.s.w.
Mit diesen Möglichkeiten werden weitere Forms modal aufgerufen.

Delphi-Quellcode:
Button1 ->
whith TFormKundendaten.Create(nil) do
begin
  Showmodal;
  Free;
end;
Dieses Programm habe ich jetzt mit einer Com Schnittstelle versehen und kann einzelne Forms direkt aufrufen.

ComInterface.ShowKundendaten(Parent) Beim Aufruf als out of Processserver wird das gewünschte Modul mit einem Parent aus dem rufenden Programm dargestellt.

Das funktioniert alles wie gewünscht.
Beim Aufruf über die Com - Schnittstelle wird jedoch zuerst die Mainform angezeigt und dann die gewünschte Form.
Setze ich in Showkundendaten Mainform.visible := false, dann blitzt diese beim Start kurz auf.
Ich suche jetzt eine Möglichkeit die Sichtbarkeit der Mainform zu unterdrücken, wenn das Programm als Out of Process Server gestartet wird.

Im Moment realisiere ich das mit ein paar Klimmzügen über eine Hilfsform und einen Timer, womit ich aber nicht zufrieden bin.

Hat wer einen Tip wie man das Problem eleganter lösen könnte.

Gruß
Peter
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Exe Start / out of Process

  Alt 28. Jan 2010, 21:28
Manchmal sieht man den Wald vor lauter Bäumen nicht.

Mit
ComServer.StartMode = smStandalone
oder
ComServer.StartMode = smAutomation

ist eine Abfrage möglich.

Ganz sauber ist die Lösung aber immer noch nicht.
Der Standalone Server könnte von Hand beendet werden.

Die bessere Lösung wird wahrscheinlich sein , das Hauptmenü in eine eigene Exe
auszulagern und im Comserver nur die Funktionalität bereitzustellen.

Das ganze gibt übrigens ein plattformübergreifendes Pluginsystem mit Delphi.
  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 12:42 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