'res:'-Protokoll
auf dieser Seite:
Ihre Fragen und Anregungen:

Motivation

Verpacken mehrerer Resourcen in einer einzelnen Baueinheit (z.B. Resource-only-Dll) und transparenter Zugriff auf die einzelnen Resourcen über eine systemneutrale URL.

Transparenter Zugriff

Ein wenig bekannter - allerdings sehr positiver - Aspekt ist die Möglichkeit unter Windows einzelne Resourcen aus DLLs (, EXEs, ActiveX-Controls, usw.) durch Angabe einer Url der Form:
res://DLLNAME.dll/[GROUP/]RESNAME
wie Dateien auslesen zu können.
So kann man bereits in einer statischen HTML-Seite das res:-Protokoll nutzen um lokal am Client-Rechner vorhandene Resourcen einzubinden.
Res-Urls können dabei auch aus Programmiersprachen an vielen Stellen eingesetzt werden, die auch reguläre Urls unterstützen.

HTML-Beispiel

Die HTML-Seite SampleResProto.htm lädt z.B. Bilder, HTML-Resourcen und ein Wave-File aus prominenten DLLs Ihres Rechners.

Resource-only DLL

Für das Bündeln von Resourcen wie HTML, Bilder, Wave-Files, XML, XSLT, usw. bietet sich i.d.R. das Erstellen einer Resource-only DLL an. Die einzelnen Arbeitsschritte zum Anlegen der Resource-only DLL werden durch Hardcopies in den Unterseiten beschrieben.

Einfaches Deployment

Da es zum Auflösen der URL ausreichend ist, dass sich die DLL (...) im Suchpfad des Rechners befindet, muß sich eine Applikation, eine HTML-Seite, ein Script, usw. um keine lokalen Installationspfade kümmern.
Zudem erleichtert das Verpacken mehrerer Files/Resourcen in ein quasi-Archiv die Konsistenz der Daten und deren Versionierung. Bei der Installation wird lediglich ein einziges File für sämtliche Resourcen benötigt.

Hinweise

Da die DLL ausschlieslich über den Suchpfad des Anwenders ausgehend vom aktuellen Verzeichniss ermittelt wird sollte für latente Versionsänderungen entsprechende Dateinamen z.B. der Form DLLNAME001.dll (8.3-Zeichen mit einer Versionsnummer) verwendet werden.
Bei der Nutzung des 'res:'-Protokolls sollten Sie ggf. einige 'Eigenheiten' kennen:
  • Resourcen werden in der Regel in Kategorien gruppiert. Gruppierungen und Resource-Identifier sollten möglichst als Strings mit umgebenden Anführungezeichen angelegt werden. Hierdurch vermeidet man ggf. spätere Probleme beim Auflösen der URL durch Windows.
  • HTML-Resourcen sollten sich (offiziell) immer unterhalb der Gruppe HTML bzw. RT_HTML befinden. Hier existiert auch die einzige echte Falle, denn genau diese Gruppe darf innerhalb der URL dann nicht angegeben werden - siehe Beispiel.
  • Will man - wie im Beispiel - Resourcen vorhandener DLLs und EXEFiles 'benutzen' sollte man sich davor hüten davon auszugehen, daß - auch bei identischen Namen - die DLLs und EXE-Files der unterschiedlichen Windows-Versionen auch immer die gleichen Resourcen beinhalten.
  • Eine Übersicht der vorhandenen Bilder, Wave-Files, Animation usw. in lokal installierten Windows-Files bekommt man am einfachsten indem man die entsprechende Datei - EXE, DLL, OCX - im Developer-Studio öffnet. Achtung: In der Fileselector-Box muß die Auswahl von 'Open as' unbedingt auf 'Resources' eingestellt werden. Ansonsten wird die Debug-Umgebung und nicht in der Resource-Ansicht angezeigt!

MSDN-Artikel

Für weiter Informationen kann man auch im MSDN nach den Artikel
  • 'Create a Resource-Only DLL' und
  • 'INFO: Syntax of the Res: Protocol and Some Known Related Issues'
suchen.

webcam

refresh-rate: 10 sec.

translate

quality matters

valid HTML 4.01 Transitional
valid CSS level 2.1
//HOME / Howtos
© 1998-2009 by ORCUS GmbH - created with ORCUS® XmlSite-generator OxsSite 004.24 at:2012-10-5T0:37:10+01:00