AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Comport sperren?

Ein Thema von Privateer3000 · begonnen am 21. Jul 2006 · letzter Beitrag vom 22. Jul 2006
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#11

Re: Comport sperren?

  Alt 22. Jul 2006, 13:23
Also, keine der laufenden Software hält den Port offen. Das ist sicher.
Fragen wir mals so, wenn ich jetzt meiner applikation den Port offen halte,
wie verhalten sich dann die anderen? Kommt es zum Absturz, oder nur zu fehlermeldungen?

Gibt es noch andere möglichkeiten, ausser den Stecker rauszuziehen
Der Hintergrund als solcher ist, bedient wird über ein 3M-Touchpanel.
Wenn man über einen Schalter dasTouchscreen ausschaltet (sperrt),
bleibt der Touch aktiv. D.h. man kann noch Aktionen ausführen obwohl
der Bildschirm schwarz ist.Sprich: ein Druck auf die richtige Stelle
und über den comport wird die Lade geöffnet.

ratlos
Privateer
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#12

Re: Comport sperren?

  Alt 22. Jul 2006, 14:10
Zitat von Privateer3000:
Fragen wir mals so, wenn ich jetzt meiner applikation den Port offen halte,
wie verhalten sich dann die anderen? Kommt es zum Absturz, oder nur zu fehlermeldungen?
Wenn die Anwendung den belegten COM-Port öffnen möchte, wird eine Exception ausgelöst oder zumindest ein Fehler an die Anwendung zurückgegeben.
Was die Software mit dieser Information macht, musst du auspprobieren. Das kann von "Garnichts" (kommentarlos abgefangene Exception) über Meldungen ("Kann COM1 nicht öffnen", "Kommunikationsfehler mit Schublade" usw.) bis hin zum Programmabsturz durch eine unbehandelte AV alles sein.

Zitat von Privateer3000:
Gibt es noch andere möglichkeiten, ausser den Stecker rauszuziehen
Der Hintergrund als solcher ist, bedient wird über ein 3M-Touchpanel.
Wenn man über einen Schalter dasTouchscreen ausschaltet (sperrt),
bleibt der Touch aktiv. D.h. man kann noch Aktionen ausführen obwohl
der Bildschirm schwarz ist.Sprich: ein Druck auf die richtige Stelle
und über den comport wird die Lade geöffnet.
hmm.
Wenn sich die Software bei belegtem COM-Porr ruhig verhält, dann musst du "nur noch" eine Möglichkeit finden, einen ausgeschalteten Monitor zu erkennen.
Wenn du was gefunden hast, aktivierst du dein CPortLib-COMPort wenn der Monitor inaktiv ist.
(CPortLib_COMport.active := NOT Monitor.active) Eventuell kannst du den Ein-Aus Zustand des Monitors herausfinden, indem du über den Display Data Channel die PNP Daten des Monitors abfragst. >> Keine Daten = Monitor aus, Daten >> Monitor an ...
Dafür gibt aber sicher noch bessere Wege ...
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#13

Re: Comport sperren?

  Alt 22. Jul 2006, 14:19
Das klingt sehr interessant.
Davon habe ich auch noch nie gehört, den Status des Monitors
abzufragen.

Hat jemand damit schonmal zu tun gehabt?

In der Tat wäre es eine Alternative,als mit
einem Button die Sperrung zu aktivieren/deaktivieren.
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#14

Re: Comport sperren?

  Alt 22. Jul 2006, 14:35
Schau mal hier im MSDN.

Die WMI Klasse "Win32_DesktopMonitor" liefert ein paar interessante Werte zurück
Code:
0x07 Power Off
0x8 Off Line
0xD Power Save - Unknown
0xE Power Save - Low Power Mode
0xF Power Save - Standby
0x11 Power Save - Warning
Infos zur Verwendung von WMI mit Delphi gibt es hier im Forum reichlich.


Schöne Grüße,
Jens
  Mit Zitat antworten Zitat
Benutzerbild von Privateer3000
Privateer3000

Registriert seit: 10. Jun 2002
Ort: Jena
1.128 Beiträge
 
Delphi 10.4 Sydney
 
#15

Re: Comport sperren?

  Alt 22. Jul 2006, 17:30
vielen Dank,
sich da durch zuarbeiten dürfte etwas länger dauern.
wie erhält man die Rückgabewerte ?
Ist da in den systemutils von Delphi nichts vorgesehen?
Peter
+++Versuch es nicht mit Gewalt + Nimm einen größeren Hammer! +++
  Mit Zitat antworten Zitat
jensw_2000
(Gast)

n/a Beiträge
 
#16

Re: Comport sperren?

  Alt 22. Jul 2006, 21:48
Und jetzt erwartest du von uns, das wir uns für dich durch das Thema arbeiten ?
Ist nicht dein Ernst oder ?

... ich will man nich so sein.

Weil mich das Thema WMI schon länger interessierte, habe ich mit Hilfe des MSDN und dieses Artikels die Properties der Klasse "Win32_DesktopMonitor" bei eingeschaltetem und ausgeschaltetem Monitor ausgelesen.

Bei meinem uralt ADI 21" (CRT) wurde die Availability in beiden Fällen mit den Wert "0x3 Running/Full Power" ausgelesen.

Eventuell funtioniert es ja bei deinem Touchpanel.

Zum Testen hänge ich dir mam meine "Spiel-Exe" an.

Den zugehörenden Sourcecode bekommst du mit den beiden Links in 15 Minuten selbst hin.
Soviel Eigenenergie muss sein .



Schöne Grüße,
Jens
Angehängte Dateien
Dateityp: zip win32_desktopmonitor_175.zip (212,7 KB, 5x aufgerufen)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 05:17 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz