Daha önceki bilgilerden derlenerek project1.exe ve project2.exe yi ayrı ayrı project.exe içinden çalıştırdım.
proje.rc
EXE1 RCDATA "C:\Program Files\Borland\Delphi7\Projects\all_in_one\Project1.EXE"
EXE2 RCDATA "C:\Program Files\Borland\Delphi7\Projects\all_in_one\Project2.EXE"
varsa başka exe ler de eklenir.
Ana projeyi (project.exe) derlemeden önce
C:\Program Files\Borland\Delphi7\Projects\all_in_one>
brcc32 proje.rc
ve project.dpr deki {$R *.res} satırının altına
{$R proje.res} yazıp derlenecek.
Kod: Tümünü seç
program Project;
uses
Forms,
Unit1 in 'Unit1.pas' {Form1};
{$R *.res}
{$R proje.res}
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
Sadece iki button konulan project.dpr nin
unit1.pas aşağıdaki gibidir;
Kod: Tümünü seç
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
SecRes: TResourceStream;
pTemp: pchar;
TempPath, ExeName: string;
begin
SecRes := TResourceStream.Create(hInstance,'EXE1', RT_RCDATA);
pTemp := StrAlloc(MAX_PATH);
GetTempPath(MAX_PATH, pTemp);
TempPath := String(pTemp);
StrDispose(pTemp);
SecRes.SaveToFile(TempPath + 'Project1.EXE');
SecRes.Free;
WinExec(PChar(TempPath + 'Project1.EXE'), SW_SHOW);
end;
procedure TForm1.Button2Click(Sender: TObject);
var
SecRes: TResourceStream;
pTemp: pchar;
TempPath, ExeName: string;
begin
SecRes := TResourceStream.Create(hInstance,'EXE2', RT_RCDATA);
pTemp := StrAlloc(MAX_PATH);
GetTempPath(MAX_PATH, pTemp);
TempPath := String(pTemp);
StrDispose(pTemp);
SecRes.SaveToFile(TempPath + 'Project2.EXE');
SecRes.Free;
WinExec(PChar(TempPath + 'Project2.EXE'), SW_SHOW);
end;
end.
Hepsi bu
