AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?
Thema durchsuchen
Ansicht
Themen-Optionen

Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

Ein Thema von thomas2009 · begonnen am 21. Sep 2010 · letzter Beitrag vom 10. Okt 2010
Antwort Antwort
Seite 1 von 2  1 2      
thomas2009
(Gast)

n/a Beiträge
 
#1

Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 21. Sep 2010, 15:12
Hallo
ich habe mehrere Dateien in eine dll gespeichert. Wie kann ich diese wieder von dll auf die Festplatte speichern. Allerdings die Namen meiner Dateien weiß ich natürlich
Meine Dateien heißen :test01.mp3 bis test11.mp3
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 21. Sep 2010, 15:19
was verstehst du unter "in DLL gespeichert"? Wie sind denn die Dateien in der DLL drin? Als Ressourcen? Dann einfach mit meinem ResourceStream.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#3

AW: Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 21. Sep 2010, 17:54
meinedaten.RC :
video1.mp3 23 "video1.mp3"

Delphi-Quellcode:
implementation

{$R *.dfm}
{$R meinedaten.RES}

procedure TForm1.Button1Click(Sender: TObject);
var myRes : TResourceStream;
begin

myRes:=TResourceStream.Create(Hinstance,'video1.mp3','23');
myRes.SaveToFile('video1.mp3');
myRes.free;

end;
Fehler : video1.mp3 nicht gefunden

Geändert von thomas2009 (21. Sep 2010 um 17:57 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#4

AW: Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 21. Sep 2010, 18:04
Hinstance = Handle des aktuellen Moduls, also in diesem Fall von der EXE.
Du brauchst hier natürlich das Handle der DLL

Delphi-Referenz durchsuchenLoadLibrary


Was soll denn 23 für ein ResType sein?

PS: 23 <> '23'
$2B or not $2B

Geändert von himitsu (21. Sep 2010 um 19:12 Uhr)
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#5

AW: Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 21. Sep 2010, 18:35
Die Ressourcen sind sowohl in .Res als auch in einer .dll Datei

Ich möchte mit meinem Code zuerst versuchen die Dateien aus Ressource zu holen.

Geändert von thomas2009 (21. Sep 2010 um 20:26 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 21. Sep 2010, 19:13
Versuch es mal mit RCDATA (in der RES) und RT_RCDATA im Programm.
$2B or not $2B
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#7

AW: Wie kann man Dateien von einer Res / DLL Datei hollen und auf HD speichern?

  Alt 21. Sep 2010, 20:29
Die RC kann ich leider nicht ändern
test1.mp3 23 "test1.mp3"
So ist in .Res gespeichert leider

Geändert von thomas2009 (22. Sep 2010 um 00:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von lbccaleb
lbccaleb

Registriert seit: 25. Mai 2006
Ort: Rostock / Bremen
2.037 Beiträge
 
Delphi 7 Enterprise
 
#8

AW: Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 21. Sep 2010, 22:31
Ähh entschuldige die Frage, aber wei´t du ungefähr was du da überhaupt machst?
Martin
MFG Caleb
TheSmallOne (MediaPlayer)
Die Dinge werden berechenbar, wenn man die Natur einer Sache durchschaut hat (Blade)
  Mit Zitat antworten Zitat
thomas2009
(Gast)

n/a Beiträge
 
#9

AW: Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 22. Sep 2010, 00:21
Das Problem liegt nur an .RC Datei
die Datei .rc wurde leider in diesem Form erstellt :
resource.rc :
test1.mp3 23 test1.mp3

wenn aber die resource so wäre :
test1.mp3 RCDATA test1.mp3

dann ist kein Problem die Dateien von rers zu holen :
Delphi-Quellcode:
var
   RS: TResourceStream;
begin
   RS := TResourceStream.Create(0, 'test1.mp3', RT_RCDATA);
   RS.SaveToFile('test1.mp3');
   RS.Free();
und so geht ohne Probleme
aber leider ist die .rc statt RCDATA, 23 erstellt
23 gilt algemeine für HTML files

Ich erhalte immer diese Fehlermeldung : test1.mp3 nicht gefunden
ich habe versucht auch mit dem code :
RS := TResourceStream.Create(0, Pchar('test1.mp3'), Pchar('23'));

Geändert von thomas2009 (22. Sep 2010 um 00:36 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 16. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#10

AW: Wie kann man Dateien von einer DLL Datei hollen und auf HD speichern?

  Alt 22. Sep 2010, 03:15
Microsoft hat ein etwas seltsames System um Resource Typen zu kennzeichnen.
Hier die Übersicht.
Einerseits ist der Resourcetyp eine Zahl, andererseits wird er über einen PCHAR übergeben.
Die Idee dahinter ist wohl, dass man die API so offen halten wollte, dass
man in Zukunft neben den Zahlenwerten auch Strings übergeben kann.
Das Makro MAKEINTRESOURCEA erledigt für C-Compiler den Trick:
Code:
#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
Daher:
Delphi-Quellcode:
const
  _RT_HTML = 23; // bitte prüfen, ob RT_HTML nicht schon in Unit Windows definiert wurde
...
RS := TResourceStream.Create(0, Pchar('manual.html'), MAKEINTRESOURCE(_RT_HTML));
Es ist natürlich eine Verletzung der Konventionen,
wenn hinter der Resource RT_HTML ein MP3-Video abgelegt wird.
Das sollte man nicht tun.
Richtig wäre hier der Typ RT_RCDATA.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 21:18 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