AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Delphi Ressourcen Datei zur Laufzeit
Thema durchsuchen
Ansicht
Themen-Optionen

Ressourcen Datei zur Laufzeit

Ein Thema von creehawk · begonnen am 25. Feb 2022 · letzter Beitrag vom 26. Feb 2022
Antwort Antwort
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#1

Ressourcen Datei zur Laufzeit

  Alt 25. Feb 2022, 09:14
Moin Moin.

Kann man ein Ressource Datei eigentlich zur Laufzeit eines Programms einbinden oder laden oder dazugeben?

creehawk

Nachtrag: Wenn ich die .res zum Progmmstart einbinde müsste ich ja sonst bei Änderungen dieser Datei das Programm neu komplieren ....
  Mit Zitat antworten Zitat
Benutzerbild von dummzeuch
dummzeuch

Registriert seit: 11. Aug 2012
Ort: Essen
1.623 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

AW: Ressourcen Datei zur Laufzeit

  Alt 25. Feb 2022, 10:03
Moin Moin.

Kann man ein Ressource Datei eigentlich zur Laufzeit eines Programms einbinden oder laden oder dazugeben?

creehawk

Nachtrag: Wenn ich die .res zum Progmmstart einbinde müsste ich ja sonst bei Änderungen dieser Datei das Programm neu komplieren ....
.RES-Dateien habe ich nie probiert, aber es gibt Ressource-DLLs, quasi eine leere DLL, an die man die Ressourcen binden kann.
Thomas Mueller
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#3

AW: Ressourcen Datei zur Laufzeit

  Alt 25. Feb 2022, 11:11
Ja, mit Hilfe von BTMemoryModule.pas https://github.com/DSPlayer/memorymodule/ geht es auch zur Laufzeit. Allerdings muß die einzubindende Datei zuvor mit brcc32.exe in das .RES-Format umgewandelt werden und so vorliegen. Das Einbinden zur Laufzeit erfolgt mit folgendem Aufruf:
Delphi-Quellcode:
  ResStream:= TResourceStream.Create(HInstance, // Handle: kommt von Windows, wird im TResourceStream intern benötigt
                                     RES_Name, // Name Ressource Datei: danach wird gesucht.
                                     RT_RCDATA); // Anwendungsdefinierte Ressource (Rohdaten)
Gruß, Andreas
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Ressourcen Datei zur Laufzeit

  Alt 25. Feb 2022, 11:44
Moin Moin.

Danke für die Antworten, hatte ich beides auch schon ausprobiert. Die BTModule sind ziemlich fehleranfällig und die DLL Geschichte ist wenig optimal in meinen Fall.

Vielen Dank für die Mühe, da werde ich wohl was anderes erfinden müssen.....

creehawk
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#5

AW: Ressourcen Datei zur Laufzeit

  Alt 25. Feb 2022, 11:54
Was soll denn genau in der Resource abgelegt werden?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
691 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: Ressourcen Datei zur Laufzeit

  Alt 25. Feb 2022, 15:46
Du musst deine Resourcen aber generell nicht in irgend einen Binärcontainer packen. Das meißte gibt es doch auch als Einzeldateien die man auch so lassen kann. Oder halt in ein ZIP.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.
  Mit Zitat antworten Zitat
creehawk

Registriert seit: 1. Jul 2013
Ort: Hamburg
241 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Ressourcen Datei zur Laufzeit

  Alt 26. Feb 2022, 08:54
Update Programm

Ich möchte/muss in verschiedenen Programmen XML Dateien gelegentlich aktualisieren. Ich stelle diese Dateien zusammen und erzeuge eine RES Datei.
Das Programm um die XML am Zielrechner einzuspielen ist simpel. Alle erforderlichen Pfade und andere Daten sind dort in der Registry.

Die res Datei hat in der größten Ausprägung 69 KB. Wenn ich jetzt mit Sydney ein entsprechendes UpdateProgramm erstelle lande ich bei 16 MB.
Also nehme ich Delphi 7. Da sind es 1.6 MB.

Das Problem (mehr oder weniger) : Die erzeugte res gebe ich also nach Delphi, muss dann aber das Updateprogramm neu kompilieren. Doof.

Deshalb die Frage wie man die res in ein laufendes Programm lesen kann.

Im wesentlichen geht es auch darum dem Anwender nur eine Datei zukommen zu lassen. Und ich möchte das mit Delhi machen.

creehawk
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Ressourcen Datei zur Laufzeit

  Alt 26. Feb 2022, 09:08
Ich würde ja einen "Update.exe" schreiben das ein Archiv "Update.zip" einliest, im Zip Archiv eine Konfigurations-datei einlesen damit "Update.exe" weiß was wohin geht. So die basics.
(Update.exe später ausbauen um online versionen zu prüfen....)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Ressourcen Datei zur Laufzeit

  Alt 26. Feb 2022, 09:13
Wenn ich jetzt mit Sydney ein entsprechendes UpdateProgramm erstelle lande ich bei 16 MB.
Dann stell es auf Release um, landest Du bei 2 - 3 MB.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#10

AW: Ressourcen Datei zur Laufzeit

  Alt 26. Feb 2022, 10:38
Ich möchte/muss in verschiedenen Programmen XML Dateien gelegentlich aktualisieren. Ich stelle diese Dateien zusammen und erzeuge eine RES Datei.
Das Programm um die XML am Zielrechner einzuspielen ist simpel. Alle erforderlichen Pfade und andere Daten sind dort in der Registry.
Warum der Umweg über die RES-Datei? Wäre z.B. ZIP hier nicht ein geeigneteres Format? Selbst ohne Kompression (stored) wäre die ZIP-Datei wohl in etwa so groß wie die RES-Datei.

Für im Betrieb zu aktualisierende Dateien ist RES ein denkbar ungeeignetes Vehikel.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  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 22:50 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