AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Webseite aus Resourcen.dll im IE anzeigen
Tutorial durchsuchen
Ansicht
Themen-Optionen

Webseite aus Resourcen.dll im IE anzeigen

Ein Tutorial von Wormid · begonnen am 16. Okt 2003 · letzter Beitrag vom 17. Okt 2003
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von Wormid
Wormid
Registriert seit: 26. Aug 2003
Moin,

hier im Forum kam die Frage auf, wie man eine kleine Webseite mit Bildern etc. in kompakter Form mit seiner Anwendung weitergeben kann. Es sollte möglichst nur eine Datei sein, sodass der Anwender nicht direkt an die Seiten und Dateien heran kann.

Ich gab dann die Vorlage, und unser hochgeschätzer Moderator Christian Seehase wußte, wie wir das dann umsetzen müssen. Dies hier kam dabei am Ende raus:

Worum geht es?

Es geht also darum, eine komplette Webseite mit Bildern, Stylesheets und html-Seiten in einer DLL als Ressourcen unterzubringen. Im IE lassen sich Dateien aus Ressourcen direkt, ohne weitere Hilfsmittel anzeigen!
(Die Fehlermeldung "Seite nicht gefunden..." ist z.B. auf die gleiche Weise im Explorer untergebracht:
res://C:\WINNT\system32\shdoclc.dll/dnserror.htm )

Tja, dann wollen wir mal anfangen:

Die Webseite

Die Webseite die wir in der Dll unterbringen wollen, die hat folgende Struktur:

Code:
|
+- images ----+- background.jpg
|             |
+- index.htm +- logo.gif
|             |
+  style.css +- dprules.gif
Ist klar, das die Pfade dann in der html-Datei relativ sein müssen. Im Beispielprojekt seht ihr, was ich damit meine.

Die Resourcen

So, als erstes erstellen wir ein Script für den Resource Compiler.

resdemo.rc
Code:
index.htm HTML index.htm
style.css HTML style.css
background.jpg IMAGES images\background.jpg
dprules.gif IMAGES images\dprules.gif
logo.gif IMAGES images\logo.gif
Bei der Erstellung des Projektes musste ich leider feststellen, das sich dieses Script mit dem Resource Compiler von Borland (Delphi 6) nicht komplilieren lässt... Er scheint mit dem ResType HTML (oder 23) nicht klarzukommen. Aber dafür funktioniert das ganz wunderbar mit dem Resource Builder ( Shareware, 30 Tage Testversion, http://www.sicomponents.com ).

Jetzt wollen wir noch eben den Aufbau des Scriptes erläutern.

Jede Zeile für sich betrachtet hat das Format "ResName ResType Dateiname".
In unserem Fall muss der ResName immer gleich dem Dateinamen der einzubindenden Datei sei, inklusive der Endung. Der ResType ist für alle Dateien im Wurzelverzeichnis der Seite immer HTML (oder numerisch 23). Für die Dateien in den Unterverzeichnissen ist der ResType dann der Name des Unterverzeichnisses. (Im Beispiel eben "images".) Es lassen sich auch mehrere Verzeichnisse einbinden, aber ich vermute mal, nur eine Verzeichnis-Ebene tief. Mit Leerzeichen und Umlauten wäre ich äußerst sparsam... bzw. die funktionieren dabei dann eh nicht.

Die DLL

Als nächstes erstellen wir ein neues Dll-Projekt... Am besten mit Notepad, das geht in diesem Fall noch am schnellsten.

resdemo.dpr
Delphi-Quellcode:
library resdemo;

{$R website\resdemo.RES}

begin
end.
Eben fix kompilieren mit "dcc32 resdemo" und fertig. (Okay, wer will, der darf auch die IDE benutzen. )

Feierabend!

Und schon ist der Kuchen gegessen, sag ich mal. Unsere DLL ist damit schon fertig!
Betrachten lässt sich das ganze nun im IE unter folgender Adresse:

Code:
res://{ kompletter Pfad zu DLL }\resdemo.dll/index.htm

Viel Spaß damit,

Gruß

Wormid


P.S.: Die DLL hinterher mit UPX oder ähnlichem zu packen ist übrigens eine ganz schlechte Idee! Ich wollte es nur mal gesagt haben.

Edit: Zipfile vergessen...
Angehängte Dateien
Dateityp: zip resdemo.zip (32,6 KB, 19x aufgerufen)
Debuggers don't remove Bugs, they only show them in Slow-Motion.
 
Benutzerbild von Evian
Evian

 
Delphi 6 Professional
 
#11
  Alt 17. Okt 2003, 12:29
Ok , Sorry...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 23:28 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz