AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Info-Fenster von Windows anzeigen

Ein Thema von Willie1 · begonnen am 16. Aug 2015 · letzter Beitrag vom 16. Dez 2016
Antwort Antwort
Benutzerbild von Assarbad
Assarbad

Registriert seit: 8. Okt 2010
Ort: Frankfurt am Main
1.234 Beiträge
 
#1

AW: Info-Fenster von Windows anzeigen

  Alt 16. Dez 2016, 09:43
Na dann viel Erfolg. Falls dein Programm wirklich so supercool sein sollte, kannst du vermutlich allerlei anstellen und MS wird sich danach bemühen die Kompatibilität zu neueren Windowsversionen für dich zu gewährleisten. So wie sie es auch in der Vergangenheit machten. Ansonsten fällst du unter Umständen durch's Raster. Aber das ist schließlich deine Sache, denn du verläßt dich auf etwas zu dem MS keinen Vertrag abgeschlossen hat. Die API hingegen ist ein Vertrag auf den du dich verlassen kannst. Kurzum: du trägst das volle Risiko.

Im übrigen bist du mit deiner Methode dann wieder bei händischen Versionsüberprüfungen ala (Hauptversion >=5 und Unterversion >=1). Ich will nicht anzweifeln, daß du es richtig hinbekommen kannst, aber können und machen sind zwei verschiedene Handschuhe.

Die von jaenicke vorgeschlagene Methode ist aber in jedem Fall überlegen, da sie darauf abzielt, daß das Programm ermittelt welche Funktionen in der Laufzeitumgebung bereitstehen und sich dementsprechend verhält. Das hat auch nix mit COM per-se zu tun, sondern COM funktioniert nach diesem Blackbox-Prinzip. Will heißen wenn du eine GUID/CLSID hast dann kannste dich darauf verlassen, daß wenn du das Interface instanziieren kannst, es auch da ist.
Oliver
"... aber vertrauen Sie uns, die Physik stimmt." (Prof. Harald Lesch)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.055 Beiträge
 
Delphi 12 Athens
 
#2

AW: Info-Fenster von Windows anzeigen

  Alt 16. Dez 2016, 10:00
Aus diesen Gründen (einfach+zuverlässig, auch in Zukunft, egal was MS irgendwann mal wieder anstellt) verwende ich zur Windows-Versions-Bestimmung die FileInfo aus der kernel32.dll.
Und genau deshalb gibt es bei Microsoft die Überlegung bei der Prüfung der Versionen solcher System-DLLs ebenfalls emulierte Werte zurückzuliefern...
Eben weil durch die Umgehung der offiziellen Wege genau die genannten Probleme weiter da sind. Durch dieses Gefrickel durch diverse Programmierer ist der ganze Kompatibilitätslayer ja nur so kompliziert.

Wenn du natürlich nur einen Notepad-Klon schreibst, ist die Wahrscheinlichkeit, dass du ein bestimmtes Feature brauchst, nicht so hoch. Da braucht man aber eigentlich auch keine Versionsinfo-Prüfung. Aber bei allen etwas komplexeren Projekten sollte man das ganze schon sauber lösen.

Die Featureprüfung geht natürlich auch bezogen auf API-Funktionen. Wenn ich eine bestimmte API-Funktion brauche, schaue ich einfach nach, ob diese da ist. Fehlt diese in früheren oder zukünftigen Windowsversionen, weiß ich, dass mein Programm dort definitiv nicht funktioniert und kann das auch so dem Benutzer anzeigen.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
mm1256

Registriert seit: 10. Feb 2014
Ort: Wackersdorf, Bayern
642 Beiträge
 
Delphi 10.1 Berlin Professional
 
#3

AW: Info-Fenster von Windows anzeigen

  Alt 16. Dez 2016, 15:50
Hab's mir schon gedacht, dass ihr diese Vorgehensweise "zerlegt". Fakt ist aber, dass die Fileinfo Bestandteil des PE-Aufbaus ist und sich in zig Jahren nicht geändert hat und sich wohl zukünftig auch nicht ändern wird, denn sonst würde man alles abschießen, was es mal vorher gegeben hat. Und darum ist die Fileinfo eine zukunftsfähige Lösung. Auch wenn Windows wieder mal an der API rum schrauben sollte. Dann gehen nämlich z.B. die Manifeste wieder genauso den Bach runter, wie beim Wechsel von 8.0 zu 8.1.
Gruss Otto PS: Sorry wenn ich manchmal banale Fragen stelle. Ich bin Hobby-Programmierer und nicht zu faul die SuFu zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
10.055 Beiträge
 
Delphi 12 Athens
 
#4

AW: Info-Fenster von Windows anzeigen

  Alt 16. Dez 2016, 23:02
Fakt ist aber, dass die Fileinfo Bestandteil des PE-Aufbaus ist und sich in zig Jahren nicht geändert hat und sich wohl zukünftig auch nicht ändern wird
Darum geht es auch gar nicht so sehr. Das Problem ist ja die fehlerhafte Verwendung der so gewonnenen Daten durch sehr viele Programmierer.
Wenn alle das nur in einem Info-Fenster anzeigen würden und sich nen Kullerkeks drüber freuen würden, wäre das ja kein Problem. Problematisch wird es wie gesagt, wenn auf dem Wege versucht wird festzustellen, ob das eigene Programm unter der Windowsversion läuft.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Antwort Antwort

 

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:07 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz