Einzelnen Beitrag anzeigen

QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.928 Beiträge
 
Delphi 12 Athens
 
#9

AW: Wie Dialogs.CreateMessageDialog abfangen

  Alt 19. Aug 2022, 23:39
Indirekt doch.
VCL-Dialoge stehen in Screen.Forms und dort sollte es der Neuste sein, bzw. soooo viel sollte dort auch nicht existieren.

Aber da das Zeug eh aus dem Service raus gehört, kannst dort schön eine Exception werfen und den Dialog abbrechen.
Der Code wo es dann knallt ... der gehört letztendlich repariert.



Man könnte vielleicht auch noch in TApplicationEvents.OnMessage auf sowas wie WM_SHOWWINDOW und vielleicht WM_CREATE reagieren.
Delphi-Referenz durchsuchenFindControl Delphi-Referenz durchsuchenIsVCLControl


Zitat:
Wenn ich es auf FALSE setze dann würden immer die "zufuss"-Dialoge genutzt werden oder?
Jupp.

Die ganz neuen TaskDialog-APIs bieten nun auch eine Übersetzung,
aber das CreateMessageDialog und Co. haben einen Vorteil ... es sind da drauf z.B. VCL-Buttons, bei denen man schön die Captions ändern kann, ohne sich nicht komplett selbst um den Dialog kümmern zu müssen.
bzw. es lassen sich leicht weitere VCL-Controls draufpappen.



Bei uns hab ich nun die letzten 3 Windows 7 entsorgt. (das eine Windows 7 Embedded ... da ist das Display kaputt und es hat sich leider selbst disqualifiziert )
PS: Selbst die ersten Versionen von Windows 10 sind bereits "offiziell" tot.
Wir beide wissen, dass technical debt sucked und man sich davon befreien sollte.
Dieser Befreiungschlag, konvertierug zu unicode und Delphi XE 10.3, ist auch geplant, sobald ich mit einem anderen Projekt an dem ich sitze und das immer größer wird , fertig bin.

Da es ja nur um das verhindern der Dialoge für den Dienst, der auch als Desktop tray Anwendung laufen kann, geht es ja erstmal wenn ich die Messageboxen verhindere.
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat