Einzelnen Beitrag anzeigen

Benutzerbild von jaenicke
jaenicke
Online

Registriert seit: 10. Jun 2003
Ort: Berlin
9.332 Beiträge
 
Delphi 11 Alexandria
 

TExeDataStream 0.6 - Daten an die Exe anhängen

  Alt 30. Mai 2009, 19:45
Hallo!

Vor einer Weile kam im DF (wieder einmal) die Frage wie man Daten an die eigene laufende Exe anhängen kann. Direkt eine laufende Exe manipulieren kann man ja nicht, aber man braucht auch kein zweites Programm dazu. Zunächst hatte ich in dem entsprechenden Beitrag eine schnelle Lösung gepostet, habe mir aber auch überlegt, wie man das vereinfachen kann.

Da bin ich schnell auf die Idee gekommen einfach eine eigene Streamklasse zu benutzen. Man kann diese Klasse jetzt einfach wie andere Nachfahren von TStream (TFileStream, TMemoryStream, ...) benutzen. Um Strings zu lesen und schreiben gibt es zusätzlich ReadString und WriteString.
Delphi-Quellcode:
var
  FileContents: TExeDataStream;
begin
  FileContents := TExeDataStream.Create();
  try
    FileContents.WriteString(Memo1.Text);
  finally
    FileContents.Free;
  end;
Mit Free wird automatisch die alte Exe ersetzt und beendet, die neu erstellte gestartet und die alte gelöscht.
Dies ist noch nicht die Ideallösung, ich mache mir gerade Gedanken um eine saubere Lösung, auch im Hinblick auf nötige Administratorrechte, die ich im Moment noch nicht berücksichtige. Dafür habe ich eine mehrstufige, aber integrierte, Lösung im Kopf, die ich noch ergänzen werde.

Die Unit liegt im Anhang. Eine genauere Erklärung zur Funktionsweise habe ich hier in den FAQ gepostet:
http://www.delphi-library.de/viewtopic.php?p=545198

Getestet mit:
  • Delphi 7
  • Delphi 2006
  • Delphi 2007
  • Delphi 10.4 Community Edition
Bekannte Probleme:
  • Das Programm braucht derzeit direkt Administratorrechte, wenn diese für das Schreiben in das eigene Verzeichnis nötig sind. Eine saubere Lösung, die diese (ggf. per UAC) anfordert, ist in Arbeit.
  • Delphi 2009 kompiliert jetzt zwar, es gibt aber einen Laufzeitfehler
Ebenfalls gepostet hier:
http://www.delphi-forum.de/viewtopic.php?t=89659
http://forum.delphi-treff.de/showthread.php?t=26709

Schönen Gruß,
Sebastian
Angehängte Dateien
Dateityp: zip SJExeDataStream0.6.zip (966,5 KB, 11x aufgerufen)
Dateityp: zip SJExeDataStream0.6_src.zip (33,5 KB, 18x aufgerufen)
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!

Geändert von jaenicke (26. Feb 2023 um 07:48 Uhr)
  Mit Zitat antworten Zitat