Exe Oluşturmak

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Misafir

Mesaj gönderen Misafir »

Doğrudur :twisted:
Kullanıcı avatarı
MercilessTurk
Üye
Mesajlar: 94
Kayıt: 28 Eki 2005 10:14

Mesaj gönderen MercilessTurk »

pff bir türlü bende beceremedim bunu. bir exe den diğerine streamlerle bilgi aktarıyom ama exe den direkt 0 dan yeni exe oluştutturamadım bilen yok mu? Yardım ederseniz çok makbule geçecek.
Kullanıcı avatarı
MercilessTurk
Üye
Mesajlar: 94
Kayıt: 28 Eki 2005 10:14

Mesaj gönderen MercilessTurk »

1.komut satırında bir resource tanım dosyası oluştur.
MODUL.EXE senin kendi exene gömmek istediğin EXE dosyasıdır.
1.1. copy con GOKHAN.RC (Enter)
1.2. INTRO RCDATA MODUL.EXE (Bu satırı Yaz, Enter,F6 ile çık)

2.Komut satırında bu tanım dosyasından resource oluştur. (TABİ MODUL.EXE ile GOKHAN.RC aynı dizinde olacaklar).
2.1. BRCC32 GOKHAN.RC

Oluşan GOKHAN.RES 'i (içinde şu an MODUL.EXE var), taşıyıcı projenin buılundugu dizine kopyala.

3.Sonra Ana Programa (Taşıyıcı) dön, Ana Formda aşağıdaki satırları ekle.
3.1. {$R *.DFM} (den sonra, ki bu satır zaten var)
3.2. {$R GOKHAN.RES}

(Artık Kendi EXE nde MODUL.EXE gömülü durumda, sıra bunu uyandırmaya geldi)
4. Aşağıda'da bu resource'dan exeyi çıkarma kodu var.

Kod: Tümünü seç

procedure TForm1.Button2Click(Sender: TObject);
var
  rStream: TResourceStream;
  fStream: TFileStream;
  fname  : string;
begin
  fname:=Paramstr(0))+'MODUL.EXE';
  rStream := TResourceStream.Create
  (hInstance, 'INTRO', RT_RCDATA);
  try
      fStream := TFileStream.Create(fname, fmCreate);
    try
      fStream.CopyFrom(rStream, 0);
    finally
      fStream.Free;
    end;
  finally
    rStream.Free;
  end;
end;
Not: alıntıdır
1. Adımı notepad e INTRO RCDATA MODUL.EXE yazıp rc uzantılı olarak kaydederekde yapabilirsiniz.
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- Senin için kodunu CODE bloğu içine aldım.

- Çözümünü paylaştığın için teşekkürler ama mesaj yazarken lütfen az da olsa birazcık titiz olalım. Karmaşa oluyor, anlaşılır olmuyor.
Resim
Resim ....Resim
Kullanıcı avatarı
MercilessTurk
Üye
Mesajlar: 94
Kayıt: 28 Eki 2005 10:14

Mesaj gönderen MercilessTurk »

mrmcop yazdı:- Senin için kodunu CODE bloğu içine aldım.

- Çözümünü paylaştığın için teşekkürler ama mesaj yazarken lütfen az da olsa birazcık titiz olalım. Karmaşa oluyor, anlaşılır olmuyor.
uyarın için sağol bir anlık unutkanlıktan code bloğu içine almayı unutmuşum.
Cevapla