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

amiga-news.de Forum > Programmierung > icons chrash unter morphos [ - Suche - Neue Beiträge - Registrieren - Login - ]

-1- [ - Beitrag schreiben - ]

22.04.2010, 12:38 Uhr

AGSzabo
Posts: 1663
Nutzer
programmierfrage zu morphos:

mein programm lädt das icon "sys:prefs.info" und lässt es ins fenster zeichnen. unter os 3.0 bis 3.9 und os4 funktioniert das. unter MORPHOS wird statt dem icon blos ein kleines symbol mit der aufschrift "PNG.icon" oder so dargestellt.

und dazu kommt noch, mein programm stürzt unter morphos ab sobald ich ein os3.9 icon zeichnen lasse, obwohl dieses auch von morphos in einem fenster fast korrekt dargestellt wird (es wird leicht gezoomt dargestellt).

was kann ich da machen?

ags
--
Sam mini os4.1 upd. 1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 22.04.2010 um 12:45 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

22.04.2010, 13:39 Uhr

thomas
Posts: 7717
Nutzer
Zitat:
Original von AGSzabo:
was kann ich da machen?


Dein Programm korrigieren. Offenbar hat es einen Fehler.

Beachte, daß die mit OS 3.5 hinzugekommenen Funktionen der icon.library unter MorphOS nicht existieren. Zumindest unter 1.4.5 nicht.

Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

22.04.2010, 13:45 Uhr

AGSzabo
Posts: 1663
Nutzer
@thomas:

ich hab morphos 2.4 ... aber ok, wie kann ich feststellen ob morphos oder amiga-os läuft?

dass die funktionen nicht exitieren glaube ich weniger, immerhin kommt ja ein "Ambient PNG" schild. eher glaube ich, dass die funtkionen zwar exsistieren anders funtkionieren. wo finde ich eine beschreibung davon von morphos?

grüße,
AGS
--
Sam mini os4.1 upd. 1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 22.04.2010 um 13:56 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

22.04.2010, 20:41 Uhr

Thore
Posts: 2266
Nutzer
Probiers mit den Versionsnummern aus.
Die Wahrscheinlichkeit kannst Du erhöhen, indem Du z.B. die Verzeichnisstruktur ermittelst (MorphOS:Libs/workbench.library oder sowas suchen)
Wenn Du ganz gewieft sein willst, schnapp Dir eine Systemdatei, die auf jeden Fall geladen wurde (wie z.B. c:loadwb) und vergleiche den ELF Header.
Die letzten beiden sind bei Standard-Installationen "sicher", aber das Auslesen der Versionsnummern ist der sauberste Weg ;)

PS: Zwar gehen die "krassen" Methoden aber man sollte sie hier nicht allzu ernst nehmen, Versionsnummer ist ok ;)

[ - Antworten - Zitieren - Direktlink - ]

22.04.2010, 21:47 Uhr

thomas
Posts: 7717
Nutzer
Zitat:
Original von Thore:
Probiers mit den Versionsnummern aus.
Die Wahrscheinlichkeit kannst Du erhöhen, indem Du z.B. die Verzeichnisstruktur ermittelst (MorphOS:Libs/workbench.library oder sowas suchen)
Wenn Du ganz gewieft sein willst, schnapp Dir eine Systemdatei, die auf jeden Fall geladen wurde (wie z.B. c:loadwb) und vergleiche den ELF Header.
Die letzten beiden sind bei Standard-Installationen "sicher", aber das Auslesen der Versionsnummern ist der sauberste Weg ;)



Oh bitte ! So einen Schwachsinn sollte man gar nicht erst denken, geschweige denn vorschlagen.

Die richtige Vorgehensweise ist diese:

code:
if (IconBase->lib_Version >= 50)
{
	if (FindResident ("MorphOS"))
	{
		/* MorphOS */
	}
	else
	{
		/* AmigaOS 4.0 */
	}
}
else
{
	if (IconBase->lib_Version >= 45)
	{
		/* AmigaOS 3.9 */
	}
	else
	{
		/* ältere Version */
	}
}


Gruß Thomas

--
Email: thomas-rapp@web.de
Home: thomas-rapp.homepage.t-online.de/

[ - Antworten - Zitieren - Direktlink - ]

22.04.2010, 23:10 Uhr

AGSzabo
Posts: 1663
Nutzer
ok, dies methode baut auf der icon.libarary auf. aber was ist, wenn ich es generell und grundsätzlich wissen will? ich tippe mal, dass das "findresident morphos" ausreicht um es zu wissen. der rest des codes betrifft nur die neuen funktionen der iconlibrary, doch da sollte v44 ausreichen, zumindest hab ich das bis jetzt so.

und diese frage leitet sich ab: wie zeichne ich das icon unter morphos korrekt?
--
Sam mini os4.1 upd. 1 -- e-uae 39bb2 -- A4000D 3.0 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 22.04.2010 um 23:21 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]

23.04.2010, 08:20 Uhr

Thore
Posts: 2266
Nutzer
@thomas:
Les den letzten Satz, der Vorschlag war das Auslesen der Versionsnummer, der Rest war Spaß (ich hoffe daß ags das auch so interpretiert hat) :)

FindResident ist kein schlechter Ansatz, danke für den Tip.

[ - Antworten - Zitieren - Direktlink - ]

23.04.2010, 19:18 Uhr

AGSzabo
Posts: 1663
Nutzer
problem hat sich gelöst. morphos versteht bei icons das GFLG_GADGIMAGE nicht. es war unter morphos im gadget des icons nicht gesetzt und mein programm, dass dieses flag prüft, dachte unter morphos dass das image ein border war. unter amiga-os wurde das flag gesetzt...

grüsse,
ags
--
Sam mini os4.1 upd. 1 -- e-uae 39bb2 -- A4000D 3.0 & 3.9 - 2mbchip/8mbfast - Ariadne_II - ide DVD und HD -- A500 3.1 (mkick) adide 50mb -- Duron 1200mhz Ubuntu Linux

[ Dieser Beitrag wurde von AGSzabo am 23.04.2010 um 19:20 Uhr geändert. ]

[ Dieser Beitrag wurde von AGSzabo am 23.04.2010 um 19:20 Uhr geändert. ]

[ - Antworten - Zitieren - Direktlink - ]


-1- [ - Beitrag schreiben - ]


amiga-news.de Forum > Programmierung > icons chrash unter morphos [ - Suche - Neue Beiträge - Registrieren - Login - ]


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