Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Datein in Exe integrieren (https://www.delphipraxis.net/127636-datein-exe-integrieren.html)

DelphiManiac 16. Jan 2009 12:48


Datein in Exe integrieren
 
Hallo,

ich stehe vor folgender Herausforderung und brauche eure Hilfe:

Ich habe ein Flash-Tool entwickelt, das 8051 uController flashen kann.
Zu diesem Flashtool wird eine Hex-Datei benötigit (Firmware die programmiert wird)


Jetzt braucht der Kunde ein Tool, dass von Firmware X auf Firmware Y flasht.

Und dies soll eine Datei sein.
Wie kann ich die FirmwareX.hex an die Exe anbinden und dann beim Flashvorgang, wenn sie benötigt wird extrahieren?

Hoffe ihr habt mich verstanden :-)

Danke
DM

Luckie 16. Jan 2009 12:53

Re: Datein in Exe integrieren
 
Pack sie als Ressource in die Exe. Mit der Klasse TResourceStream kannst du dann auf die Ressource zugreifen und auch auf der Festplatte speichern.

DelphiManiac 16. Jan 2009 13:14

Re: Datein in Exe integrieren
 
Habe bis jetzt noch keine Ressource an eine Exe angehängt,

wie macht man das am schlauesten :roll: ?

Danke!

lbccaleb 16. Jan 2009 13:15

Re: Datein in Exe integrieren
 
Stichwort: Hier im Forum suchenRessource

DelphiManiac 16. Jan 2009 14:14

Re: Datein in Exe integrieren
 
Hi,

ok, ich habe meine Resource nun angehängt:

Inhalt Firmware.rc:

1 DATEI "EPT202-V2-14.hex"

die Firmware.RES ist an die Exe angehängt worden über

{$R ..\rc\Firmware.RES}

So nun habe ich aber das Problem, weil ich nicht genau weiß wie ich die Ressource laden kann, könnt ihr mir da helfen?
Delphi-Quellcode:
  FirmwareAlsRessource := TResourceStream.Create(HInstance,'Firmware',RT_RCDATA); // Hier gibt es eine Not Found Exeption..
  FirmwareAlsRessource.SaveToFile('C:\test.hex');
  FirmwareAlsRessource.Free;
Danke euch!!

himitsu 16. Jan 2009 14:29

Re: Datein in Exe integrieren
 
du hast in der .rc "1" angegeben als Name/ID,
dann wirst du auch, beim Auslesen, die "1" verwenden müssen.

verwende statt .Create ein .CreateFromID
oder gib stattdessen, in der .rc, einen Resource-Namen an

DelphiManiac 16. Jan 2009 14:34

Re: Datein in Exe integrieren
 
Klappt leider trotzdem nicht,

irgendwo ist noch ein "falscher" :? Fehler.

Habe es jetzt so probiert:
Delphi-Quellcode:
FirmwareAlsRessource := TResourceStream.Create(HInstance,'1',RT_RCDATA);
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt FirmwareUpdater.exe ist eine Exception der Klasse EResNotFound mit der Meldung 'Ressource 1 wurde nicht gefunden' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------

olee 16. Jan 2009 14:46

Re: Datein in Exe integrieren
 
Wie wärs mal mit CreateFromID wie himitsu gesagt hat??? :wall:

DelphiManiac 16. Jan 2009 15:36

Re: Datein in Exe integrieren
 
Na

das habe ich natürlich auch ausprobiert. Die Tipps die mir hier gegeben werden wende ich natürlich auch an!

:wiejetzt:

Leider wurde die Resource auch nicht gefunden :gruebel:

lbccaleb 16. Jan 2009 15:50

Re: Datein in Exe integrieren
 
Zeige mal deine rc datei...


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:48 Uhr.
Seite 1 von 2  1 2      

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 by Thomas Breitkreuz