Autor Beitrag
MDX
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 595
Erhaltene Danke: 4

Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
BeitragVerfasst: Sa 28.01.12 03:53 
Hallo DF'ler,
ich versuche derzeit mit Embarcadero RAD Studio XE2 (und FireMonkey HD) ein Crossplattform-Programm für Windows 32, 64 und Mac OS X zu entwickeln. Es klappt alles soweit so gut, jedoch habe ich ein kleines Problem.

Ich will für jedes Formular einen Taskbar-Eintrag anzeigen lassen, mit den Codes die man im Internet findet, ist dies jedoch nicht (bzw. nur für Windows) möglich (Beispiel: blog.hitziger.net/20...ner-delphianwendung/).

Hat jemand vielleicht eine Idee dies für FireMonkey so umzusetzen, dass es sowohl auf Windows, als auch auf MAC OS X funktioniert?

Vielen Dank
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Sa 28.01.12 09:45 
Es gibt keine plattformübergreifende Möglichkeit. Die Fenstermanager und APIs sind grundverschieden.

Linux:
Es gibt da z.B. aus GTK eine entsprechende API-Funktion gtk_window_set_skip_taskbar_hint:
www.gtk.org/api/2.6/...et-skip-taskbar-hint
Leider funktioniert die aber nicht überall wie gewünscht. Mit älteren Versionen von Gnome wird das Fenster teilweise erst gar nicht in der Taskleiste eingeblendet und der Aufruf schlicht ignoriert.

Grundsätzlich möglich sollte es aber unter Linux sein. Wie mit Delphi müsstest du dann schauen, wenn es für Linux benutzbar ist.

MacOS: AFAIK ist das dort überhaupt nicht möglich ohne tatsächlich für jedes Fenster eine eigene Instanz des Programms zu starten, weder via Cocoa noch via Carbon (sprich die APIs dort). Lazarus unterstützt diese Funktion dort auch nicht.

Deshalb wären eigene Prozesse plus Interprozesskommunikation wohl sinnvoller, wenn du dieses Feature unbedingt benötigst.
MDX Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 595
Erhaltene Danke: 4

Windows 8.1, Linux Debian 8, Android Lollipop
Delphi, PHP, Java (Android)
BeitragVerfasst: Sa 28.01.12 19:43 
Hallo Sebastian,
danke für deine ausführliche Erklärung :D

Ich denke ich werde dies dann erstmal nur für Windows umsetzen, auf Mac OSX muss dass dann halt auch ohne eigenen Eintrag funktionieren, ist nur ein kleiner "Schönheitsfehler", aber damit lässt's sich leben. Aber was erwartet man von Apple ^^