Screen->MonitorCount und ->Monitors aktualisieren?



  • Folgendes Problem:

    In einer App wird bei Start die Anzahl Monitore ermittelt.
    Eine Diashow soll die Bilder auf die Monitore verteilt anzeigen.

    Bis hierher alles Ok.

    ABER:

    Wenn im laufenden Betrieb ein Monitor angesteckt/ abgezogen wird (z.B. ein LCD- TV), bleibt MonitorCount auf dem Startwert stehen und die Monitore von Screen sind ungültig - zeigen irrsinige Breiten/ Positionen an.

    Wie kann das Screen- Objekt aktualisiert werden???

    ************************
    Versuch:
    in Timer- Funktion (alle 1 sec):
    - lokales TScreen() erzeugen
    - MonitorCount mit globalem Screen vergleichen
    - falls Abweichung
    - Globales Objekt durch lokales ersetzen
    - Altes globales Screen deleten.

    Klappt scheinbar, es werden die Monitore richtig in Anzahl/ Grösse aufgelistet. Aber bei Zugriff auf die Monitore kommt Crash.

    Ist also nicht brauchbar.

    Gruss
    frank



  • Hallo

    Vermutlich kommst du mit den darfür vorgesehenen WinAPI-Funktion besser zurecht als mit den VCL-Kapselungen.

    bis bald
    akari


Anmelden zum Antworten