![]() |
Ressourcen-DLL-Experte
Grüsse,
ich möchte eine Ressourcen-DLL mit ein paar Bildern und HTML Seiten erstellen, laut der der Hilfe von Delphi, exestiert dazu ein "Ressourcen-DLL-Experte" ... aber wie und wo finde ich diesen experten... ich hab schon die halbe IDE auf den Kopf gestellt. Weiß jemand wo ich den finde?! :) MFG Evian |
Re: Ressourcen-DLL-Experte
Moin Evian,
bei mir ist der unter Datei\Neu Tabsheet Neu Resourcen DLL Experte |
Re: Ressourcen-DLL-Experte
Ok, ich habs gefunden ... Danke Dir.
Aber irgendwie funktioniert es nicht so, wie ich es will. Also letztendlich möchte ich nur eine Ressource Dll in der eine Website gespeichert ist. Dafür habe ich auch ein gutes Tool gefunden(mir wurde der Tip hier im Forum gegeben) : ![]() Aber leider funktioniert es bei meiner Webiste nicht. Nun meine Frage ist, ob jemand ein Programm oder eine andere Möglichkeit kennt, den gesammten Inhalt einer Website in einer Ressource DLL zu speichern, oder einen anderen Weg die Website offline zu betrachten, ohne das der Benutzer direckten zugriff auf die HTML Dateien bekommen kann. Wenn jemand einen Idee hätte, würde ich mich sehr freuen!!! MFG Evian |
Re: Ressourcen-DLL-Experte
Das Problem bei einer Webseite ist, dass Du natürlich auch die Bilder herausgeben musst...
Dir bleibt also nichts anderes übrig, als entweder die Seite inkl. Bilder temporär irgendwo auf der Festplatte zu speichern, oder du integrierst einen kleinen Webserver in Dein Programm, welcher die Resourcen entspr. auf Anforderung ausgibt. |
Re: Ressourcen-DLL-Experte
Mh.. aber es muss auch anders möglich sein... das Ressource Tool :
![]() kann die die HTML Seiten + Bilder + css + vieles mehr in eine DLL packen, die man sich dann wie die richtige Site im Browser ansehen kann, wenn die DLL im Sys registriert wurde. ...aber zu dem Vorschlag mit dem Webserver. Hab sowas noch nicht gemacht... gibt es da eine standart Komponente mit der das einfügen der Ressourcen recht einfach ist? |
Re: Ressourcen-DLL-Experte
Moin Evian,
Zitat:
Wenn Du keine Kompo für die Anzeige hast, würde ich mal davon ausgehen, das die Seite samt zugehöriger Dateien auf jeden Fall im Browsercache landet (beim IE eben "Temporary Internet Files"). Ob man die Daten direkt aus einer Resource heraus anzeigen kann, ohne die Datenstruktur, zumindest temporär, irgendwo zu speichern, weiss ich nicht. Nicht zu vergessen: Wenn die Daten als Resource vorliegen, kann man sie auch wieder da rausziehen. |
Re: Ressourcen-DLL-Experte
Mit 100%iger Sicherheit wird eine der beiden vorher genannten Methoden angewendet (warscheinlich wird die Site inkl. Bilder temporär gespeichert). Anders geht es leider nicht ;)
|
Re: Ressourcen-DLL-Experte
Ja ich versteh dich... ich will die Seite ja auch nicht absolut Zugriffssicher machen, aber einfach die Dateien Lokal neben die Programmexe zu legen ist mir einfach zu billig. Du meintest es könnte mit einer Webserverkombo gehen ... ich hab sowas nich nicht gemacht. Gibt es da eine Standartkomponente, mit der man das einfach lösen könnte?
Edit: @FriFra: Lad Dir mal das Ressource Tool runter... liegt auch der Komplette Delphi Code bei... die Daten werden 100% nur in die DLL gespeichert und von dort herrausgelesen, beim betrachten. |
Re: Ressourcen-DLL-Experte
@FriFra: Doch, es geht anders... Das hier ist z.B. ne gültige URL für den IE: res://C:\WINNT\system32\shdoclc.dll/dnserror.htm (Vorrausgesetzt, die DLL liegt in dem Verzeichnis)
Was die Idee mit dem Webserver angeht: So ganz einfach ist das acuh nun wieder nicht... man muss erstmal nen freien Port finden, der Nutzer könnte schon nen Sever laufen haben... Außerdem, ich weiß ja nicht, wozu das ganze ist, aber falls es sich "nur" um die Hilfe oder sowas handelt, dann würde ich persönlich mich echt bedanken, wenn ich meine Firewall erst dafür anpassen müsste! Gruß Wormid |
Re: Ressourcen-DLL-Experte
Hast Du dann vielleicht ne andere Idee?
|
Re: Ressourcen-DLL-Experte
Zitat:
|
Re: Ressourcen-DLL-Experte
Moin FriFra,
Zitat:
z.B.
Code:
will man Unterverzeichnisse ansprechen (z.B. für die Graphiken bilder/Pfeil.gif), dann muss der Resourcentyp BILDER lauten (eben der Verzeichnisname) und für den Resourcennamen gilt das Gleiche, wie für die die HTML Datei.
MeineHP.htm #23 MeineHP.htm
Hat man also eine HTML Datei namens MeineHP.htm, die eine Grafik Pfeil.gif im Unterverzeichnis BILDER erwartet, müsste die RC Datei so aussehen (Annahme: RC Datei und HTM liegen im gleichen Verzeichnis, die Grafik darunter):
Code:
Bei anderen Dateitypen (z.B. CSS, JS usw.) und Verzeichnisstrukturen gilt das analog.
MeineHP.htm #23 "MeineHP.htm"
Pfeil.gif BILDER "BILDER\PFEIL.GIF" Der Aufruf innerhalb des eigenen Programmes müsste also lauten (Annahme: Die DLL liegt im eigenen Programmverzeichnis):
Delphi-Quellcode:
Wichtig:
Webbrowser1.Navigate('res://'+ExtractFilePath(paramstr(0))+'MeineRes.DLL /meinehp.htm')
Der Pfad muss \ enthalten, obwohl das Dateisystem ja eigentlich auch / zulässt. In einem Punkt hast Du natürlich recht: Es geht nur mit dem IE. Der Tip von Wormid mit dem res:// war klasse :thuimb: BTW: Jetzt landen die Dateien auch nicht im BrowserCache. |
Re: Ressourcen-DLL-Experte
So ... und was jetzt noch richtig fein wäre, wenn mir jemand sagen könnte.. wie ich aus meinen WEB-Dokumenten so eine DLL machen kann ... ich meine darum ging doch der Treat eigendlich :)
MFG Evi |
Re: Ressourcen-DLL-Experte
Moin Evian,
hab' ich doch beschrieben: HTM Dateien Resourcentyp: #23 Resourcenname: Name der Datei incl. Extension sonstige Dateien: Resourcentyp: #23, wenn sie sich im gleichen Verzeichnis befinden, wie die htm Datei, ansonsten Verzeichnisname (vermutlich nur eine Ebene möglich Resourcenname: Name der Datei incl. Extension Um wie viele Dateien geht's denn? |
Re: Ressourcen-DLL-Experte
Wenn Du weisst wie eine Resource erstellt wird, dann lies doch den Posting von Seehase über Dir ... Da steht wie es sein muss ...
Wenn Du aber keine Ahnung hast vom DLL erstellen, dann würde ich Dich doch bitten mal hier ![]() Nachtrag: oops der Hase war schneller :mrgreen: |
Re: Ressourcen-DLL-Experte
Zitat:
@Knebel... ja sorry ... hatte es wohl zu schnell überflogen. Wie man etwas in DLLs einbaut, weiß ich grundsäztlich. |
Re: Ressourcen-DLL-Experte
Moin Evian,
wenn es über mehr als eine Verzeichnisebene geht, hiesse es auszuprobieren, ob der Resourcenname auch / enthalten darf, dass weiss ich nämlich jetzt auch nicht. (Wenn ja, und ob das dann auch wie gewünscht funktioniert ;-) ) Ansonsten wäre es relativ einfach die RC Datei mit einem kleinen Programm zu erstellen. |
Re: Ressourcen-DLL-Experte
Naja alle Daten sind in einem Verzeichniss..., aber haben kranke namen wie z.B. 'herstellerindex.php_buchstabe=K&short=0.htm'
Hast Du so ein RC Tool schon geschrieben? Ich denke ich würde es auch hinbekommen, aber wenn es schon eins gibt, bräuchte ich mich nicht drum kümmern. *g* *faul sei* Evi |
Re: Ressourcen-DLL-Experte
Liste der Anhänge anzeigen (Anzahl: 1)
Stichwort RC-Tool: ResourceBuilder von SiComponents... der rockt!
![]() Stichwort res:// - Das funzt echt kewl... Ich wollte das doch auch mal austesten, also war ich so frei, mal ein Mini-Demoprojekt zu diesem Thema zu erstellen. Wenn man da noch ein bissel dran rumfeilt, könnnte da sogar was für die Lib bei rausspringen! :wink: :dp: |
Re: Ressourcen-DLL-Experte
Moin Evian,
so ein Tool hab' ich auch noch nicht geschrieben. Wenn die alle ein einem Verzeichnis liegen, brauchst Du ja nur einmal mit einer FindFirst/FindNext Schleife durchzugehen, und je Datei eine Zeile mit Dateiname #23 Dateiname ein eine TStringList zu schreiben, die Du dann als RC Datei speicherst. (Diesen Beitrag zu schreiben dauert ja fast schon länger ;-) ) |
Re: Ressourcen-DLL-Experte
ok ... werds machen :) , aber trozdem danke für Hilfe
|
Re: Ressourcen-DLL-Experte
beim schreiben fällt mir gerade auf ... muss das #23 zwischen jede Datei, oder nur bei HTML Files?
Edit: Also ich hab die Datei erstellt... der Anfang sieht so aus:
Code:
..und dann halt so weiter. Wenn das jetzt richtig ist, wie bekomm ich aus der rc Datei nun eine res Datei? Wenn ich in der "Console brc32.exe -barriere.rc gibs ne Fehhler meldung.BMFSFJ.gif "BMFSFJ.gif" BMFSFJ_klein.gif "BMFSFJ_klein.gif" erweiterteSucheKatScreensho.jpg "erweiterteSucheKatScreensho.jpg" erweiterteSucheKreuzScreens.jpg "erweiterteSucheKreuzScreens.jpg" favicon.ico "favicon.ico" functions.js "functions.js" galerie.php.htm #23 "galerie.php.htm" galerie.php_pid=102.htm #23 "galerie.php_pid=102.htm" galerie.php_pid=106.htm #23 "galerie.php_pid=106.htm" galerie.php_pid=109.htm #23 "galerie.php_pid=109.htm" galerie.php_pid=113.htm #23 "galerie.php_pid=113.htm" |
Re: Ressourcen-DLL-Experte
Moin Evian,
die Angabe #23 ist der Resourcentyp, und der muss bei jeder Datei mit rein. Wenn Du Glück hast lag die Fehlermeldung nur daran, wenn Du Pech hast an dem '=' im Dateinamen. |
Re: Ressourcen-DLL-Experte
Btw: Ich konnte das .rc auch nicht kompilieren mit dem Typ "#23"... Als ich die Raute rasugenommen habe, da funzte es!
Code:
index.htm 23 "index.htm"
dprulez.gif IMAGES "images\dprules.gif" |
Re: Ressourcen-DLL-Experte
Moin Wormid,
Zitat:
:wall: :wall: :wall: kommt davon, wenn man noch nie einen Int als Resourcentyp genommen hat. |
Re: Ressourcen-DLL-Experte
Ich war mal so frei und habe mein Demoprojekt etwas aufgemotzt und mal ein Mini-Tutorial daraus gemacht. (Man will ja schließlich auch mal berühmt werden...) :mrgreen:
![]() Was den ResourceTyp 23 angeht... so scheint der ResourceCompiler von Borland da nicht mit klarzukommen. Oder mache ich da was falsch? Gruß Wormid |
Re: Ressourcen-DLL-Experte
Moin Wormid,
Zitat:
|
Re: Ressourcen-DLL-Experte
So ich habe noch eine Frage bezügliches des
![]() Mit der neusten version des Microsoft Resource Compiler lassen sich alle Dateien(auch die mit Sonderzeichen) zu einer eins *.res Datei zusammenführen und diese dann auch super zu einer DLL compilieren. Das Problem ist jetzt nur, wenn ich mir die DLL im Browser ansehe, dann werden keine Bilder angezeigt, obwohl sie eigendlich mitkompiliert sein müssten ... es wurde jedenfalls keine Fehlermeldung angezeigt. @Wormid, NicoDE oder wer noch Ahnung hat: Ihr hattet es doch mit RC . Compiler ausprobiert... konnten bei euch die Bilder angezeigt werden? Und wenn ja, wie war die *.rc Datei formatiert? Evi |
Re: Ressourcen-DLL-Experte
Meine RC-Datei sah so aus, wie die im Tutorial. :mrgreen:
Und ja, die Bilder wurden angezeigt. Hast Du mal ein Beispiel für den Aufbau (Struktur) deiner Page? Unterverzeichnisse in mehreren Ebenen scheinen nicht zu funktionieren, oder geht das mit dem RC von Microsoft doch? :hi: |
Re: Ressourcen-DLL-Experte
Mh.. die Struktur ist ganz einfach ... alle 1373 Dateien sind in einem Verzeichniss.
Hier mal ein Teil der *.rc Datei:
Code:
...ich denke mal, dass das die selbe Formatierung ist,77img2.gif IMAGES "77img2.gif" 78img0.gif IMAGES "78img0.gif" 78img2.gif IMAGES "78img2.gif" 79img0.gif IMAGES "79img0.gif" 82img2.jpg IMAGES "82img2.jpg" 82img3.jpg IMAGES "82img3.jpg" 82img4.jpg IMAGES "82img4.jpg" 82img5.jpg IMAGES "82img5.jpg" 84img0.gif IMAGES "84img0.gif" 85img1.jpg IMAGES "85img1.jpg" 86img0.gif IMAGES "86img0.gif" 87img0.gif IMAGES "87img0.gif" 88img1.gif IMAGES "88img1.gif" 89img0.gif IMAGES "89img0.gif" 90img0.jpg IMAGES "90img0.jpg" 91img1.gif IMAGES "91img1.gif" 92img0.gif IMAGES "92img0.gif" 93img0.jpg IMAGES "93img0.jpg" 96img0.gif IMAGES "96img0.gif" agbs.php.htm HTML "agbs.php.htm" approved_aaa.gif IMAGES "approved_aaa.gif" BMFSFJ.gif IMAGES "BMFSFJ.gif" BMFSFJ_klein.gif IMAGES "BMFSFJ_klein.gif" erweiterteSucheKatScreensho.jpg IMAGES "erweiterteSucheKatScreensho.jpg" erweiterteSucheKreuzScreens.jpg IMAGES "erweiterteSucheKreuzScreens.jpg" favicon.ico IMAGES "favicon.ico" functions.js HTML "functions.js" galerie.php.htm HTML "galerie.php.htm" galerie.php_pid=102.htm HTML "galerie.php_pid=102.htm" galerie.php_pid=106.htm HTML "galerie.php_pid=106.htm" galerie.php_pid=109.htm HTML "galerie.php_pid=109.htm" galerie.php_pid=113.htm HTML "galerie.php_pid=113.htm" galerie.php_pid=147.htm HTML "galerie.php_pid=147.htm" galerie.php_pid=152.htm HTML "galerie.php_pid=152.htm" galerie.php_pid=210.htm HTML "galerie.php_pid=210.htm" galerie.php_pid=211.htm HTML "galerie.php_pid=211.htm" galerie.php_pid=213.htm HTML "galerie.php_pid=213.htm" galerie.php_pid=244.htm HTML "galerie.php_pid=244.htm" galerie.php_pid=245.htm HTML "galerie.php_pid=245.htm" galerie.php_pid=256.htm HTML "galerie.php_pid=256.htm" galerie.php_pid=261.htm HTML "galerie.php_pid=261.htm" galerie.php_pid=264.htm HTML "galerie.php_pid=264.htm" galerie.php_pid=269.htm HTML "galerie.php_pid=269.htm" galerie.php_pid=270.htm HTML "galerie.php_pid=270.htm" galerie.php_pid=50.htm HTML "galerie.php_pid=50.htm" galerie.php_pid=67.htm HTML "galerie.php_pid=67.htm" galerie.php_pid=77.htm HTML "galerie.php_pid=77.htm" galerie.php_pid=78.htm HTML "galerie.php_pid=78.htm" galerie.php_pid=82.htm HTML "galerie.php_pid=82.htm" glossar.php.htm HTML "glossar.php.htm" glossar.php_gid=1.htm HTML "glossar.php_gid=1.htm" glossar.php_gid=100.htm HTML "glossar.php_gid=100.htm" glossar.php_gid=101.htm HTML "glossar.php_gid=101.htm" nur bei js und bei ico bin ich mir nicht ganz sicher. Hier mein code mit dem ich die rc Datei erzäuge:
Code:
Procedure Getallfiles(dir: string); var rec: TSearchRec; found: Integer; s, s2 : String; begin anzahl := 0; if dir[Length(dir)] <> '\' then dir := dir + '\'; found := FindFirst(dir + '*.*', faAnyFile, rec); while found = 0 do begin s := ''; s2 := ''; s2 := rec.Name; s := s + s2[length(s2) - 2]; s := s + s2[length(s2) - 1]; s := s + s2[length(s2) - 0]; IF s = 'htm' THEN Form1.ListBox1.Items.Append(rec.Name + ' HTML "'+ rec.name +'"'); IF s = 'css' THEN Form1.ListBox1.Items.Append(rec.Name + ' HTML "'+ rec.name +'"'); IF s = 'jpg' THEN Form1.ListBox1.Items.Append(rec.Name + ' IMAGES "'+ rec.name +'"'); IF s = 'gif' THEN Form1.ListBox1.Items.Append(rec.Name + ' IMAGES "'+ rec.name +'"'); IF s = 'ico' THEN Form1.ListBox1.Items.Append(rec.Name + ' IMAGES "'+ rec.name +'"'); IF s = '.js' THEN Form1.ListBox1.Items.Append(rec.Name + ' HTML "'+ rec.name +'"'); inc(anzahl); found := FindNext(rec); end; FindClose(rec); Form1.Label1.Caption := inttostr(anzahl) + ' Dateien'; end; Wenn ich die die rc Datei habe, dann kopiere ich sie, die rc.exe und die RcDll.Dll in das verzeichniss, wo die HTML Seiten sind und geb in die Console(wenn ich im Websiteverzeichniss bin) ein:
Code:
und dann macht das Gute Programm mir eine meinerc.res
rc meinerc.rc
Dann mach ich mit dem Editor eine Datei mit dem Inhalt: CODE] library Project2; uses SysUtils, Classes; {$R meinerc.res} begin end. [/CODE] ...und compiliere sie, wobei dann eine schöne Datei namens meinerc.dll entsteht... und die kann ich mir dann per:
Code:
im IE oder TWebbrowser aufrufen, nur das eben keine Bilder angezeigt werden.
res://c:\meinerc.dll/index.htm )
|
Re: Ressourcen-DLL-Experte
Öhm, wenn alle Dateien in einem Verzeichnis sind, dann müssen sie auch alle den ResourceType HMTL bzw. 23 bekommen. Die anderen ResourceTypen geben in diesem Fall das Unterverzeichnis an, in dem die Bilder liegen...
Code:
Ich hoffe, es wird damit deutlich, wie es aussehen muss. :wink:
index.htm HTML index.htm
background.gif IMAGES images\background.gif style.css STYLES styles\style.css main.htm KATALOG katalog\main.htm |
Re: Ressourcen-DLL-Experte
Moin Zusammen,
und bei mir schluckt RC keine Gleichheitszeichen im Dateinamen (wohl aber im Resourcennamen ;-) ) |
Re: Ressourcen-DLL-Experte
JUHU!!!!!!! :dancer2: Es funzt jetzt alles! Ok es war eine schwere Geburt, aber es funzt.
Ein riesen Dankeschön an alle, die mich weiter gebracht haben, besonders Wormid und Christian :) -> Ich den ich werde hier neben meinen Monitor einen kleinen Schrein aufbauen mit eurem Namen drinne :) :dp: Ansonnsten zu Christian, es geht bei mir auch mit Gleichheitszeiche, vielleicht liegt es an der Version vom RC Compiler... ich hab mir ganz neu die gesammte Core SDK runtergeladen und damit geht es. Ok, also danke noch mal und ich freu mich schon drauf euch mal wieder mit meinen Fragen zu löschern :chat: MFG Evi |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:02 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