AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Probleme mit Bildschirmschonervorschau
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme mit Bildschirmschonervorschau

Ein Thema von Popov · begonnen am 17. Nov 2007 · letzter Beitrag vom 26. Mai 2012
Antwort Antwort
Popov
(Gast)

n/a Beiträge
 
#1

AW: Probleme mit Bildschirmschonervorschau

  Alt 26. Mai 2012, 11:43
Mit einem Fenster für alle Modi ist auch nicht so wild, man muß es nur richtig vorbereiten und auf paar Punkte achten.

Als erstens ist die Abfrage Art wie if AnsiStartsText('/P',ParamStr(1)) then Quatsch, sie ist nicht falsch, aber nicht effektiv. Effektiver ist die Parameter zuerst separat auszuwerten, wie z. B.

Delphi-Quellcode:
const
  ssmConfigure = 1; { Dialog 'Einstellungen' }
  ssmFullScreen = 2; { Vollbildmodus }
  ssmPreview = 3; { Vorschau }
  ssmPassword = 4; { Dialog 'Passwort setzen' }
  ssmInstall = 5; { Installieren }

var
  ssMode: Byte;

...

    case Param1[1] of
    'C': Result := ssmConfigure; { Dialog 'Einstellungen' }
    'S': Result := ssmFullScreen; { Vollbildmodus }
    'P': Result := ssmPreview; { Vorschau }
...
Danach arbeitest du nur noch mit der globalen variable ssMode. In einem ein Fenster ScreenSaver reagierst du dann auf if ssMode = ssmFullScreen oder if ssMode = ssmPreview usw. Je nach ssMode reagierst du unterschiedlich. Ist es ssmFullScreen, arbeitet es wie ein ScreenSaver, ist es ssmPreview, abereitet es wie ein Programm, d. h. Tastendruck beendet das Programm nicht usw.

Dann solltest du soweit es geht alles was geht in zwei Funktionen packen für ScreenSaver begin und end, d. h. bestimmte Screensaver Funktionen sollten nicht unkontrolliert in einer normalen Prozedur behandelt werden, sondern in separaten eigenen Funktionen. Damit kannst du je nach ssMode sie aufrufen oder nicht.
  Mit Zitat antworten Zitat
Delphi-Laie

Registriert seit: 25. Nov 2005
1.474 Beiträge
 
Delphi 10.1 Berlin Starter
 
#2

AW: Probleme mit Bildschirmschonervorschau

  Alt 26. Mai 2012, 12:05
Das ist mir durchaus klar, danke!

Also, der Bildschirmschoner wird für jeden Modus in diesem Modus neu gestartet.

Für den Vollschirmmodus, den eigentlichen Schonermodus, setzte ich den Mauscursor auf -1 (abgeschaltet) - und nach meiner Meinung auch nur in diesem (Bedingungen und Verzweigungen).

Erstaunlicherweise war der Mauscursor auch im Konfigurationsformular verschwunden. Ich setzte ihn daraufhin für diesen Modus sogar explizt auf crDefault (ist ja eigentlich schon die Starteinstellung), aber es änderte sich nichts, er wollte einfach nicht. Das war mir dann zuviel, ich hatte einfach kein Interesse, mich in diese Unwichtigkeit zu verbeißen. Also, wie schon gesagt, ich tat mir damit keine Freude. Auch muß man dann soviel an dem einen Formular "rummachen" und damit Quelltext erzeugen, daß zwei getrennte Formulare mit den entsprechenden, im Objektinspektor eingetragenen Startwerten auch ihre Berechtigung haben.

Geändert von Delphi-Laie (26. Mai 2012 um 16:55 Uhr)
  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 01:48 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