eine Grafikkarte mit 2 Monitoren

Fragen rund um diverse Windows-Versionen, ihr Verhalten unter Xbase++ und den Umgang mit der API

Moderator: Moderatoren

Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

eine Grafikkarte mit 2 Monitoren

Beitrag von Koverhage »

Kann man feststellen ob sich im Rechner eine Grafikkarte mit 2 angeschlossenen Monitoren befindet ?
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Also ich denke, wenn der Desktop auf den 2. Monitor erweitert wurde, dann sollte das über AppDesktop():currentSize()[1] feststellbar sein.
Viele Grüße
Wolfgang
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

nicht erweitert, sondern die Anwendung wird auf den linken Monitor gestartet
und auf den rechten gezogen. Dann kann auf dem linken was anderes gemacht werden.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Klaus,

ich denke einmal, das Wolfgang genau das meint. Ansonsten wird ja nur geklont und dann ist es eh wurscht. Da es über Currentsize() feststellbar ist, kann dann halt beim Starten die Anwendung direkt nach rechts geschoben werden. So ähnlich mache ich es auch bei mir, oder besser gesagt kann es machen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Klaus,
trotzdem ist die Bildschirmauflösung als solches ja eine größere!
Und das meint Wolfgang. Das Verhältnis der Seiten zueinander ist ein anderes als normal.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Hmm, habs gerade mal getestet, aber bei mir kommt auch nur 1280, 1024 zurück, obwohl ich bei der Erweiterung auf 2 Monitore 2560, 1024 erwartet hätte :(
Viele Grüße
Wolfgang
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hi,

was gibt denn die Anwendung selbst zurück ?

Beispiel:

2 Monitore je 1280x1024 ... oDLG auf erstem:

AppDesktop() -> 1280x1024 (oder weniger wegen Taskleiste ?)
oDlg:currentPos() -> 300x200 (also innerhalb der Size von AppDesktop())

nun wechselt die Anwendung auf den 2. Monitor ...

AppDesktop() -> 1280x1024 (laut Wolfgang, ich kanns nicht testen ...)
oDlg:currentPos() -> 1500x3200 (also außerhalb der Size von AppDesktop()) ...

Nur so eine Idee, wie gesagt, ich habe keine 2 Monitore angeschlossen ...
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi,

also die Sache ist die:

Nach dem Vorschlag von Wolfgang, gibt die Anwendung wirklich nur die Max. Größe EINES Bildschirmes zurück. Wenn ich jetzt aber die Currentpos() der Anwendung abfrage, dann kann ich die GESAMTE Größe beider Bildschirme ermitteln. Schiebe ich nämlich die Anwendung auf den anderen Desktop, dann habe ich eine Rückmeldung von mehr als z.B. 1280+1024. Deshalb dachte ich nämlich weiter oben auch, es wäre direkt von Anfang an so bekannt. Dem scheint aber so nicht zu sein. Jedenfalls auf den ersten Blick und mit dem Vorschlag von Wolfgang.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Manfred hat geschrieben:also die Sache ist die:

... Wenn ich jetzt aber die Currentpos() der Anwendung abfrage, dann kann ich die GESAMTE Größe beider Bildschirme ermitteln. Schiebe ich nämlich die Anwendung auf den anderen Desktop, dann habe ich eine Rückmeldung von mehr als z.B. 1280+1024.
schön, dann war meine Vermutung richtig.

Wenn man es sich genau überlegt, ist es schon richtig, dass die Größe von AppDesktop nicht geändert wird, denn es muss ja nicht auf beiden Monitoren die gleiche Auflösung eingestellt sein (je nach Grafikkarte ...)

bei 2 gleichen Auflösungen könnte man ja noch 2x den X Wert vermuten, aber der 2. Monitor könnte ja auch links stehen ...
bei 2 verschiedenen Auflösungen, wie sollte man dann aus 1024x768 und 1280x1024 eine passende Gesamtgröße ermitteln ?

Natürlich könnte es immer noch sein, dass jemand die Anwendung über den RAND hinaus verschoben hat, aber dann wollte er das wohl so :D
Gruß
Hubert
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Hubert,

ich war jetzt auch etwas verwirrt. Ich nutze auch 2 Monitore an einer Grafikkarte. 1x analog, 1x digital. Da es m.E. immer eine ordentliche Murkserei ist, zu Anfang alles so einzustellen, wie man es haben will, kam ich irgendwie dabei auf eine Einstellungsgröße von 2xDesktop Größe. Deshalb war ich auch der Meinung, dass das wohl so richtig wäre und das Programm es merken müßte. Wenn ich jetzt aber in allen Einstellungen der Grafikartentreiber nachsuche, dann finde ich diese Größenangabe nicht mehr. Es sind nur noch die Maße für 1 Desktop zu sehen.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Mein Problem ist eigentlich folgendes:
Unsere Software ist so ausgelegt das man diese an einem pc nur einmal starten kann (Anzahl gekaufter Arbeitsplätze).
In der Anwendung selbst können nicht alle Fenster minimiert werden um andere Menus aufzurufen., z.B. wenn ein Anwender eine Rechnung schreibt,
kann er nicht die aktuelle Rechnung minimieren und die Kundenauskunft aufrufen.
Jetzt möchte ein Kunde die Anwendung starten und auf den zweiten Monitor schieben und die Anwendung auf den ersten Monitor nochmal starten.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Klaus,

ich verstehe jetzt das Problem nicht. Der Kunde startet die Anwendung, schiebt sie nach rechts und startet sie erneut und läßt sie da stehen, wo sie gestartet wird. IdR auf dem linken Monitor. Wo liegt die Schwierigkeit?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Manfred,

das Problem besteht darin: Normal kann die Anwendung auf einem Arbeitsplatz nur einmal gestartet werden und wenn es nur einen Monitor gibt soll es auch so bleiben!
Nur wenn wirklich 2 Bildschirme angeschlossen sind, sollte das Programm 2 x gestartet werden können, wobei mir nach Deiner Antwort die Idee kommt, das dies nur dann möglich ist, wenn die Anwendung auf dem 2. sichtbar,
da die Anwendung ja immer auf den 1. gestartet wird und dann auf den 2. geschoben wird.
Werde mal sehen ob ich bis zu unserem Treffen so eine Karte besorgen kann. Empfehlungen werden gerne entgegen genommen ;-)
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14651
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 88 Mal
Kontaktdaten:

Beitrag von Jan »

Hallo Klaus,

die andere Lösung wäre, die beiden Dialoge zuzulassen, dann könnte jeder Kunde das machen, auch wenn er nur 1 Bildschirm hat. Das ist ja die Geschichte, warum ich so massiv mit den Tabpages und Threads arbeite. Weil ich genau das erreichen wollte (bei mir gehen damit bis zu 9 Fenster gleichzeitig plus den Einstiegsbildschirm). Jetzt fehlt mir nur noch eine Routine, die genau das unterbindet, was Du zulassen möchtest: Einen 2. Programmstart.

Jan
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hmmm,
eigentlich müsste doch in der registry stehen, wie viele Monitore angeschlossen sind und welche Auflösung benutzt wird - oder nicht?

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21186
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Beitrag von Manfred »

Hi Martin,

wäre das nicht mal wieder eine Aufgabe für Günther? Der weiß das doch sicherlich. Güüüüünther...
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Manfred,
wenn es in der registry steht, reicht dafür auch die regclass von Thomas Braun zum auslesen.
Über entsprechende ApiCalls geht es sicherlich auch... Müßte man mal im MSDN stöbern...

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Jan,

mit Express++ DC_IsAppRunning, aber in den Newsgroups gibt es so viele Funktionen die das prüfen.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Martin,

kann ich leider nicht prüfen, da ich momentan so eine Grafikkarte nicht habe.
Das Programm sollte ja auch nur dann gestartet werden können, wenn es 1. noch nicht läuft, oder wenn die gestartete Anwendung auf den 2. Monitor läuft.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Hallo Klaus,
schon klar - nur solltest Du ja für den zweiten Fall das prüfen (anhand der registry oder der ApiCalls()).

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Martin Altmann
Foren-Administrator
Foren-Administrator
Beiträge: 16509
Registriert: Fr, 23. Sep 2005 4:58
Wohnort: Berlin
Hat sich bedankt: 111 Mal
Danksagung erhalten: 48 Mal
Kontaktdaten:

Beitrag von Martin Altmann »

Klaus,
zahlen denn die Leute mehr, wenn sie zwei Monitore haben und das Programm zweimal starten können?
Wenn nicht, warum dann den Aufwand? Lass doch grundsätzlich zu, dass das Programm bis zu zweimal gestartet werden darf.

Viele Grüße,
Martin
:grommit:
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/

Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Martin,

die Kunden müssen dann eine einmalige Gebühr bezahlen. Dadurch das es ja nur 1 pc ist, kann ja nur einer dran arbeiten. Aber die Idee ist sehr gut, ich lasse grundsätzlich den Programmstart 2 mal zu, aber nur wenn 2 Monitore angeschlossen sind.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15695
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Klaus,

ich kenne ja deine Anwendung nicht, aber wenn ich eine Rechnung schreibe und mir dazu die Daten aus der Kunden-DB fehlen, dann darf ich doch keinen 2. Bildschirm brauchen um auf diese zuzugreifen ... oder habe ich das falsch verstanden :?

Außerdem wenn ich in einem Fall bin und ein anderer Kunde ruft an, dann muss ich doch auch - ohne den aktuellen beenden zu müssen - einen weiteren Fall (warum nicht 3 oder 4) ansehen und bearbeiten können, wofür haben wir denn ein Multitasking System ?

Als Kunde würde mich diese Einschränkung ziemlich nerven, ein 2. Programmstart egal wieviele Monitore könnte das natürlich abmildern.

Gibt es technische Notwendigkeiten für diese Beschränkungen ?
Zuletzt geändert von brandelh am Mi, 16. Jul 2008 9:15, insgesamt 1-mal geändert.
Gruß
Hubert
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2934
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Beitrag von Wolfgang Ciriack »

Na das reicht aber auch nicht, es können ja 2 Monitore angeschlossen sein, die beide dasselbe anzeigen (Desktop nicht auf 2. Monitor erweitert), z.B. Monitor und Fernseher/Beamer. Daher müsste die Einstellung "Desktop erweitert" abgefragt werden.
Viele Grüße
Wolfgang
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Beitrag von Koverhage »

Hubert,

das einzige was mich nerven würde ist wenn ich in einer schwierigen Rechnung, oder was auch immer, ein Kunde anruft, kann der nicht warten bis ich fertig bin ? ;-)
Wenn man die Anwender fragt wollen die das gar nicht, denn wenn man mit einer schwierigen Sache beschäftigt ist, dann irgendwelche Kundendaten oder ähnliches suchen muss, bleibt es nicht aus das man sich da neu rein denken muss.

Klar geht es wenn ich in einer Rechnung bin die Artikelsuche, Kundensuche, etc. aufzurufen, aber es gibt Programmfunktionen wo dies nicht geht.

Es gibt leider viele Anwender die zig Fenster geöffnet haben und nachher nicht mehr wissen was sie alles offen haben, was aktuell ist, etc.
Antworten