AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Exe in Resource einfügen und im Programm lokal laden
Thema durchsuchen
Ansicht
Themen-Optionen

Exe in Resource einfügen und im Programm lokal laden

Ein Thema von J Kadison · begonnen am 26. Feb 2009 · letzter Beitrag vom 11. Mär 2009
 
schöni

Registriert seit: 23. Jan 2005
Ort: Dresden
445 Beiträge
 
Delphi 7 Personal
 
#17

Re: Exe in Resource einfügen und im Programm lokal laden

  Alt 9. Mär 2009, 10:00
Zitat von taaktaak:
Moin, Moin.
Vorgehensweise ist mir verständlich.
Aber: Wozu soll das gut sein?
Ich sehe auf Anhieb eine Anwendung. Ich hatte mal den Ehrgeiz, den integrierten Debugger aus Lazarus zu extrahieren, um die Schnittstelle zum GDB zu gewinnen, da dieser letzlich augerufen wird. Das Problem war, das ich ein IDE Projekt mit Delphi realisiert hatte, das sich nicht ohne Änderungen auf Lazarus portieren ließ. So wollte ich den Debugger aus Lazarus haben, um ihn in meiner IDE verwenden zu können. Die Schnittstelle in eine Dll packen scheidet aus, da die Debuggerschnittstelle Strings übergibt und die Unit ShareMem bzw. FastMMxxx unbekannt sind. Ich brauche den Debugger also entweder als Stanalone Debugger, der per OLE in die IDE eingebettet werden kann oder die hier angestrebte Lösung, die Exe aus einer Ressource heraus zu starten.

Die betreffenden Units mit Delphi übersetzen scheidet wegen einiger wesentlicher Inkompatibilitäten syntaktischer Natur ebenfalls aus.

Zitat von taaktaak:
Um sicherzustellen, dass die Programme NUR durch die Delphi-Anwendung gestartet werden können?

Kann man die einzelnen Programme nicht mit Hilfe anderer Software wieder aus der Ressource extrahieren?
Schon möglich. Ich denke auch, das diese Vorgehensweise als Programmschutz nicht ausreichend ist.
Aber das hängt vom Wert der zu schützenden Software ab.

Die Vorgehensweise ist mir auch klar. Aber warum muss ich, wenn ich eine Ressource extrahieren will, diese speichern? Muss ich sie dann nicht vielmehr lesen?
Delphi-Quellcode:
function ExtractRes(ResType, ResName, ResNewName: string): Boolean;
var
  Res: TResourceStream;
begin
  Result := False;
  Res := TResourceStream.Create(Hinstance, Resname, PChar(ResType));
  try
    Res.SavetoFile(ResNewName);
    Result := True;
  finally
    Res.Free;
  end;
end;
Damit der Topf nicht explodiert, lässt man es ab und zu mal zischen.
  Mit Zitat antworten Zitat
 


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 14:55 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