Funktionsweise: Application.BringToFront

    Funktionsweise: Application.BringToFront

    Hallo Leute,

    ich hab mal ne kurze Frage zu der ich bei Google und hier (zumindest innerhalb von 10 Min.
    gerade keine brauchbare Antwort bekommen habe (warscheinlich nur falsch gesucht, wie immer halt!)...
    Ich habe ein Programm (App1), welches ein Befehl an ein anderes (App2) schickt. Dies mach ich gaaanz simpel
    mit einer Textdatei. Dieser Befehl lautet nun ein bestimmtes Fenster (App2) zu öffnen.
    Funktioniert wunderbar nur ist das Fenster (App2) im Hintergrund hinter dem Fenster (App1),
    von wo aus ich das Fenster öffnen lasse. Auf dem Zielfenster habe ich einen Timer, welcher am Ende
    von FormShow schicht aktiviert wird, das Intervall steht auf 100 ms. Im Timer steht nun nur folgendes:

    Delphi-Code

    1. tmForeGround.Enabled := False;
    2. Application.BringToFront();
    3. Application.ProcessMessages();
    4. BringToFront();

    Das funktioniert auf meinem Rechner wunderbar, das Fenster aus App2 kommt in den Vordergrund und alles
    ist toll und schnell, aber bei einem Kunden blinkt statt dessen nur das Programm (App2), statt das es sich
    in den Vordergrund schiebt. Nun frag ich mich: Muss ich noch was beachten? Warum läuft so etwas simples
    auf zwei Rechnern unterschiedlich?
    Vielen Dank schonmal für's Lesen, vielleicht weiß ja jemand (aus Erfahrung) so spontan schon was hier
    (außer die Übergabe der Daten per Text-Datei :P ... ich weiß ja dass man sowas nicht machen sollte! :D Aber es ist so schön einfach und es steht nichts drin, was ich nicht auch bei Facebook posten könnte! ;) ) noch verkehrt ist.

    Ansonsten auf jeden Fall viel Spaß und Erfolg noch!
    MfG Incocnito
    Hi,

    danke für die Antwort, aber
    a) hatte ich das schon bei einem Kunden erfolglos probiert und
    b) kann ich von meinen Kunden nicht erwarten, dass die i-welche
    Registry-Einstellungen machen ... da müsste ich das schon selbst
    durch mein Programm machen lassen, aber andererseits "pfusche" ich
    ungern in der Registry rum, besonders nicht an System-Einstellungen.

    ... da muss doch irgendein Denkfehler drin sein!? 8|

    MfG Incocnito

    Incocnito schrieb:

    ... da muss doch irgendein Denkfehler drin sein!?


    Ja, und zwar wenn man immer den Fehler bei sich selbst sucht.
    Das ist ein Programmiererphänomen. Da werden Stunden, Wochen oder gar Monate vergeudet ... irgendwann erkennt man dann, dass man nichts dafür kann.

    Hattest Du noch nie das Problem bei W7/W8, dass Du irgendwas installierst oder ein Programm ein neues Fenster scheinbar aufmachen möchte und auf ein Mal tut sich nichts mehr. Dann entdeckst Du unten auf der Taskleiste, dass ein "Task" blinkt. Klickst Du darauf, erscheint das Fenster, auf das man gewartet hat.
    Das habe ich häufig und ist schlichtweg ein Windows-Problem.

    Abhilfe gibt es meines Wissens nur mit Registry-Fix.
    Und dazu muss man nicht "pfuschen", den das hat MS schon für dich erledigt, sonst würde es ja ohne diese Handarbeit klappen.

    gmu

    gmu schrieb:

    Ja, und zwar wenn man immer den Fehler bei sich selbst sucht.


    Das hast du lieb gesagt! :D

    Ich habe übrigens zwei Möglichkeiten gefunden, mit denen das angeblich besser gehen soll,
    aber war nix. Hat beides nichts geändert. Ist aber schon etwas her, weiß gerade nicht mehr,
    was der zweite Fix war. Ich glaube der hatte mit dem Problem auch nur entfernt zu tun
    und ich hatte den "sicherheitshalber" ausprobiert ... man will den Kunden ja helfen!

    Nur um das Thema abzuschließen! :)

    MfG Incocnito