Jak nie korzystając z komponentu dokleić do pliku program EXE

Adam Boduch

Jest to średnio trudne. Postępuj według poniższych wskazówek:
Naszym celem będzie dodanie do zasobów Windows. Ponieważ standardowy edytor zasobów nie umożliwia tego musimy to zrobić ręcznie. Do jednego katalogu skopiuj Twój plik EXE oraz program "brcc32.exe", który jest częścią Delphi [ znajduje się w katalogu ...Delphi\Bin ].
Teraz stwórz plik z rozszerzeniem *.rc, a następnie uruchom go w Notatniku. Wpisz taki tekst:

PROGRAM RCDATA "Program.exe"
Program.exe to oczywiście nazwa Twojego programu, który chcesz włączyć do EXEca. Ok, teraz zapisz ten plik.
Musisz użyć programu brcc32.exe, aby skompilować zasób. W tym celu uruchom okienko MS - DOS'a i przejdź do katalogu w którym skopiowałeś program brcc32.exe. W MS - DOS'ie do katalogu przechodzi się poleceniem:

cd NazwaKatalogu
a przejście do katalogu wyżej powoduje polecenie:

cd..
Gdy już jesteś w tym katalogu wpisz:

brcc32.exe PlikRC.rc

Albo po prostu podać ścieżkę
C:\blabla\program\brcc32.exe C:\blabla\program\program.rc

"PlikRC.rc" to plik, który przed chwilą edytowałeś. Jeżeli wszystko pójdzie dobrze w katalogu powinieneś ujrzeć plik z rozszerzeniem *.res, który zawiera Twój program! Moje gratulacje - właśnie dołączyłeś program do zasobów.
Teraz w programie należy w którymś miejscu dopisać linię:

{$R PLIKRC.RES}

//Teraz w którejś procedurze wpisz:

var
  Res : TResourceStream;
begin
  Res := TResourceStream.Create(hInstance, 'PROGRAM', RT_RCDATA);
  try
    Res.SaveToFile('Program.exe'); // zapisz na dysk
  finally
    Res.Free;
  end;
end; 

Jeżeli postępowałeś wg powyższych wskazówek powinno się udać. Po kompilacji w jednym EXEcu powinien znaleźć się Twój doklejony program.

2 komentarzy

ten art jest przynajmniej ciekawy.

NIe to co poniektóre

THX bardzo się przydało ;)