kategoria: Amiga E
[#1] GetDisplayInfoData()
Funkcja GetDisplayInfoData(), dostępna od wersji 36 systemu (2.0).

Ktos ma pomysł, dlaczego działa na 3.x, a za cholerę nie chce zwrócić poprawnej odpowiedzi w 2.x (v37)? Chodzi o pobieranie "user friendly" nazwy danego trybu (tag DTAG_NAME) po modeID.

Np, dla modeID = $29004:

dla OS 3.x: GetDisplayInfoData () zwraca wartość > 0, a w _nInfo.name jest "PAL: High Res Laced"

dla OS 2.x: GetDisplayInfoData () zwraca 0, a _nInfo jest niewypełnione.



DEF _nInfo:nameinfo
(...)
PROC getScreenmodeNameFromModeID( _modeID )
	
	GetDisplayInfoData ( NIL, _nInfo, SIZEOF nameinfo, DTAG_NAME, _modeID) 
		
	RETURN _nInfo.name
	
ENDPROC


na 2.0 nie działa z żadnym modeid
[#2] Re: GetDisplayInfoData()

@vojo, post #1

Nie wiem dlaczego tak się dzieje, ale ustaliłem dwie rzeczy:

1. Podaję Ci link do dokumentu z AmigaMail vol.2, który zawiera w sobie kod źródłowy programu, który generuje nazwę trybu, jeżeli DTAG_NAME nie istnieje dla tego trybu (link).

2. Być może nazwa nie jest nadana temu trybowi (źródło). Nie wiem jednak jak tę nazwę nadać.

Requester ScreenMode poprzez bibliotekę asl został dodany dopiero w 3.0, więc może wcześniej samemu trzeba sobie taką nazwę zbudować (to przypuszczenie).

P.S. Spróbuj może też otworzyć najpierw ten tryb dany ModeID za pomocą funkcji OpenMonitor() lub FindDisplayInfo().

Ostatnia aktualizacja: 17.09.2019 17:25:29 przez Hexmage960
[#3] Re: GetDisplayInfoData()

@vojo, post #1

sprobuj funkcji ULONG ModeNotAvailable(modeiD) - zwroci ci kod bledu, jesli modeID jest niedostepny i moze latwiej bedzie namierzyc przyczyne.
Nie wszystkie tryby maja nazwy - ze wzgledu na oszczednosc pamieci w wersji 2.0 niektore tryby maja np. pole nazwa nie zainicjowane

Ostatnia aktualizacja: 17.09.2019 18:20:41 przez docent
[#4] Re: GetDisplayInfoData()

@docent, post #3

ModeNotAvailable(modeiD) w obu wersjach OS zwraca 0 dla PAL Hires laced, sprawdzę jeszcze procedurę Hexmage czy da radę.
Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem