![]() |
ShowModal unter Vista streikt
Hallo,
Ich habe ein Problem das ich leider nicht verstehe ich hoffe ihr könnt mir helfen. Ich arbeite unter Windows XP. Da funktioniert mein Code auch einwandfrei. Aber unter Vista gibt es Probleme. Ich schicke von einer Anwendung an die andere per Named Pipes eine Nachricht. Beim Erhalt der Nachricht soll dann ein Fenster modal angezeigt werden. Die Nachricht kommt auch bei der Anwendung an das habe ich bereits überprüft.
Delphi-Quellcode:
Leider wird unter Vista überhaupt kein Fenster sichtbar.
AskForm := TAskForm.Create(nil);
if AskForm.ShowModal() = mrYes then begin //... end; AskForm.Free; |
AW: ShowModal unter Vista streikt
Delphi-Quellcode:
ich würde das so machen.Application.CreateForm(TAskForm, AskForm); if AskForm.ShowModal() = mrYes then begin //... end; AskForm.Release; |
AW: ShowModal unter Vista streikt
Ist schon richtig wie er es gemacht hat.
Delphi-Quellcode:
Seit wann ruft man "Release" auf, anstatt "Free" ?
AskFrom.Release;
|
AW: ShowModal unter Vista streikt
Hallo,
ich denke nicht, dass da ein Fehler ist. Mache doch mal einfach ein MessageBeep statt dem Formular, der sollte funktionieren. Wie hast du geprüft, dass die Nachricht einkommt ? Hast du die ShowModal-Exe im Debugger mal laufen lassen ? Heiko |
AW: ShowModal unter Vista streikt
Was passiert wenn du erst die Named-Pipes-Meldung "beantwortest" und dann denn Dialog (z.B. über einen Timer) anzeigst? Hatte vor kurzen den Fall das mein Programm Fehler gebracht hat wenn man in einer Drag&Drop-Aktion von Windows-Explorer eine länger andauernde Aktion gemacht hat. Habe ich erst das Drag&Drop beendet und dann die Aktion gemacht gab es kein Problem mehr (war unter Win7 64-Bit).
|
AW: ShowModal unter Vista streikt
@DayWalker:
Aus der Delphi-Hilfe: "Release gibt das Formular erst frei, nachdem die Ausführung der Ereignisbehandlungsroutinen des Formulars und seiner untergeordneten Komponenten beendet ist. In allen Ereignisbehandlungsroutinen sollte Release statt Free verwendet werden, um Zugriffsverletzungen zu vermeiden." Kann auch außerhalb von Ereignisbehandlungsroutinen nicht schaden, schätze ich mal... |
AW: ShowModal unter Vista streikt
@Bernhard Geyer: Das Problem ist, dass die Antwort durch das Fenster bestimmt wird also der Nutzer die Antwort auswählt und somit kein Timer in Frage kommt.
@hoika: Immer wenn eine Nachricht ankommt wird in ein Log geschrieben deswegen bin ich sicher, dass die Nachricht angekommen ist. Ich probier das mal mit MessageBeep. Leider habe ich Delphi nur auf XP; Vista hat nur mein Bruder (Und der ist schon angepisst wenn ich mal kurz eine Exe testen will). |
AW: ShowModal unter Vista streikt
Hallo,
keine Vista ? Keine Ausreden hier ;) Heiko |
AW: ShowModal unter Vista streikt
Ihr werdet mich jetzt vllt auslachen aber ich glaube ich habe einen anderen Fehler wodurch er garnicht zum Stück kommt bei dem das Fenster angezeigt wird. Unter XP funktionierts aber??? Ich werde das mal noch näher untersuchen und sag dann Bescheid xD
|
AW: ShowModal unter Vista streikt
UAC? :roll:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:26 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz