amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

amiga-news.de Forum > Programmierung > ASLScreen-Request-> Merkwürdigkeit [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

07.03.2005, 11:42 Uhr

Ralf27
Posts: 2779
Nutzer
Wenn ich eine ASLScreen öffne und nach dem Schliesen die Daten auslese, dann bekomme ich hin und wieder seltsame Daten.

Wenn man den ASLScreenrequest einfach mit OK bestätigt, dann wird zwar die richtige DisplayID übergeben, aber nicht die richtige Breite und Höhe des Screen.(Ich lasse nur die Auswahl der Auflösung zu, sonst nichts!).
Wenn ich aber mit der Maus ein Auflösung auswähle und dann mit Ok bestätige, dann stimmen die Daten.

Wie kann das sein?!?

Die Daten lese ich mit folgenden Parametern aus, die doch eigentlich stimmen sollten....:

sm_DisplayID
sm_DisplayWidth
sm_DisplayHeight
sm_DisplayDepth

--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

07.03.2005, 13:19 Uhr

melior
Posts: 160
Nutzer
Zitat:
Wenn ich eine ASLScreen öffne und nach dem Schliesen die Daten auslese, dann bekomme ich hin und wieder seltsame Daten.

Dann machst Du vermutlich etwas falsch.

Am besten, du postest mal Deinen Programmcode. Alternativ kann ich Dir auch ein funktionierendes Beispiel geben.

Tschüß André

[ - Antworten - Zitieren - Direktlink - ]

07.03.2005, 14:03 Uhr

Ralf27
Posts: 2779
Nutzer
Also, das ganze sieht so aus. Am Anfang stehen die Includes, etc. Das da unten ist jetzt nur der Programmteil auf den es ankommt.
Die DisplayID wird übrigens immer richtig übergeben. Aber Breite, Höhe und Tiefe nicht richtig.

PS: Ja, auch das TAGLIST-Array ist dimensioniert. :D

--

TAGLIST VARPTR(tags&(0)),_
ASLSM_TitleText&,Bild$+" "+STR$(Breite&)+" *"+STR$(Hoehe&)+" *"+STR$(Farbtiefe),_
ASLSM_InitialDisplayID&,135168,_
ASLSM_InitialDisplayWidth&,320,_
ASLSM_InitialDisplayHeight&,200,_
ASLSM_InitialDisplayDepth&,1,_
ASLSM_DoWidth&,TRUE&,_
ASLSM_DoHeight&,TRUE&,_
TAGE_DONE&

fr&=AllocAslRequest&(ASL_ScreenModeRequest&,VARPTR(tags&(0)))
IF fr& THEN
IF AslRequest&(fr&,0)THEN
DisplayID&=PEEKL(fr&+sm_DisplayID%)
maxBreite=PEEKL(fr&+sm_DisplayWidth%)
maxHoehe=PEEKL(fr&+sm_DisplayHeight%)
maxTiefe=PEEKW(fr&+sm_DisplayDepth%)
END IF
FreeASlRequest fr&
END IF

--

Was ist falsch? Was kanns sein? :dance3:


Einrücken geht wohl nicht. Der Programmcode sieht hier im Forum schon etwas seltsam aus. :P

[ Dieser Beitrag wurde von Ralf27 am 07.03.2005 editiert. ]

[ - Antworten - Zitieren - Direktlink - ]

07.03.2005, 14:22 Uhr

Michael_Mann
Posts: 1012
Nutzer
Hi,

gibt es da nicht eine Funktion die fürs Auslesen extra vorgesehen ist?
Ich meine doch stark das der Screen-Mode-Requester auch gleich die Auswahl des screens mit übernimmt.


Michael

[ - Antworten - Zitieren - Direktlink - ]

07.03.2005, 14:23 Uhr

melior
Posts: 160
Nutzer
Zitat:
Also, das ganze sieht so aus.

Uh, ist das Basic? ;-)

Am Anfang hast Du geschrieben:

Zitat:
Ich lasse nur die Auswahl der Auflösung zu, sonst nichts!

Mit "DoWidth" und "DoHeight" erlaubst Du aber auch Eingabefelder für Höhe und Breite. Diese beiden Eingabefelder initialisierst Du mit 320 bzw. 200. Wenn Du keinen anderen Modus mit der Maus auswählst, dann bekommst Du einfach Deine Werte wieder zurück, ansonsten wird die Höhe und Breite des ausgewählten Modus in die Eingabefelder eingetragen und zurückgegeben.

Laß doch einfach die initialen Werte weg.

Tschüß André

[ - Antworten - Zitieren - Direktlink - ]

07.03.2005, 14:39 Uhr

Ralf27
Posts: 2779
Nutzer
Zitat:
Original von melior:
Uh, ist das Basic? ;-)

Genau, ich schreib als noch meine Programme in Basic. Bei diesem Programm hier hatte ich am Wochenende Nachts ein programmierflash, der mein neues Programm BMP-Reader als Ergebnis hervorbrachte. Die aktuelle Version rennt jetzt auch auf Grafikkarten und ist auch schon recht schnell, auch in Basic. :) Ich werde sie wohl heute Abend hochladen, die Version die gerade auf der Page ist, war das Ergebniss von ca. einer Stunde Programmierarbeit. :)
Zitat:
Mit "DoWidth" und "DoHeight" erlaubst Du aber auch Eingabefelder für Höhe und Breite. Diese beiden Eingabefelder initialisierst Du mit 320 bzw. 200. Wenn Du keinen anderen Modus mit der Maus auswählst, dann bekommst Du einfach Deine Werte wieder zurück, ansonsten wird die Höhe und Breite des ausgewählten Modus in die Eingabefelder eingetragen und zurückgegeben.

Laß doch einfach die initialen Werte weg.

Tschüß André


Das hab ich schon ganz am Anfang versucht, aber die Lösung jetzt brachte mich schon am "weitesten". Jetzt bekomme ich wenigstens nicht irgendwelche verrückten Werte zurück, sondern was handfestes. Allerdings geht das wohl nur wenn man mit der Maus die Auswahl macht. Wennn ich bei ASL einfach mit denn Cursortasten und RETURN die Auswahl machh, dann kommt wieder was anderes raus.

Und:
Wenn ich z.b. einen Grafikkartenscreen auswähle(z.b. mit 24Bit), dann kommt als Tiefe wieder meine 1 raus, obwohl das irgendwie nicht sein kann. Und genau das verwundert mich.



--
http://www.alternativercomputerclub.de.vu

[ - Antworten - Zitieren - Direktlink - ]

07.03.2005, 14:58 Uhr

melior
Posts: 160
Nutzer
Zitat:
Allerdings geht das wohl nur wenn man mit der Maus die Auswahl macht. Wennn ich bei ASL einfach mit denn Cursortasten und RETURN die Auswahl machh, dann kommt wieder was anderes raus.

Komisch, in meinem ASL-ScreenMode-Requester funktionieren die Maustasten gar nicht zur Navigation.

Wenn ich z.b. einen Grafikkartenscreen auswähle(z.b. mit 24Bit), dann kommt als Tiefe wieder meine 1 raus, obwohl das irgendwie nicht sein kann. Und genau das verwundert mich.

Schalte doch mal den Slider für die Bildschirmtiefe ein (DoDepth). Der Defaultwert ist laut AutoDoc "2".

Wenn Du zu einen Bildschirmmodus die maximale Farbtiefe wissen willst, ohne daß der Benutzer den Slider ganz nach rechts schieben muß, dann wirst Du wohl GetDisplayInfoData () benutzen müssen.
[/quote]

Tschüß André

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > ASLScreen-Request-> Merkwürdigkeit [ - Suche - Neue Beiträge - Registrieren - Login - ]


.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.