avatar
Tarih: 15:45, 09-01-09 15:45 Sitemize Hoşgeldiniz. (Oturum AçKayıt Ol)

Bu Konuyu Görüntüleyenler
Bu Konuyu görüntüleyenler: 1 Ziyaretçi

Konuyu Gönder  Mesaj Önizleme 
Delphi - Program bir kes çalışsın (Hatta açıksa hiç açılmasın bile)
21:25, 18-06-08 21:25 (En son düzenleme: 21:26 18-06-08 21:26 **SaBRoZa**.)
Mesaj: #1
Delphi - Program bir kes çalışsın (Hatta açıksa hiç açılmasın bile)
Kod:
Arkadaşlar merhabalar bilmeyen arkadaşlar için yazayım dedim, Kodbankta Programın yalnızca bir kez çalışması
ile ilgili,

CreateMutex(nil,FALSE,'PROGRAMADI');
if GetLastError = ERROR ALREADY EXISTS then
  begin
   ShowMessage('Program şu an çalışmakta.');
   Halt(0);
  end;


şeklinde kodlar var ve çok güzelde çalışıyor ancak bazı arkadaşlarımız bunun projenin kaynak kodlarına
eklenmesini söylemişler, bir arkadaşımızda kaynak kod dan çalışmayacağını bu kodun OnCreate yordamına
eklenmesi gerektiğini söylemiş. Şimdi önemli olan Evet bu kod doğru ve çok güzel çalışıyor ancak bir eksik
var o da bu kodlar kaynak koda eklenip çalıştırılabilirler sadece kaynak kodunuzdaki uses alanına
"CreateMutex" fonksiyonunu barındıran "Windows" ve "Showmessage" fonksiyonunu eklemeniz
gerekiyor. Bu şekilde açılış engellemenin en güzel tarafı eğer program açıksa daha form hafızaya alınmadan
program kapatılıyor. Eğerki bu kodu onCreate yordamına eklerseniz, program çalışır, form(lar) yüklenir ve
eğer aynı isimli çalışan program varsa program kapatılır. Umarım bilmeyen arkadaşlara yazdımcı olur...

Programın Kaynak Kodunun Son Hali:


program ABC;

uses
  Forms,Windows,
  Unit1 in 'Unit1.pas' {Form1};

{$R *.res}

begin
CreateMutex(nil,FALSE,'ABC v1.0'); if GetLastError = ERROR_ALREADY_EXISTS then Halt(0); //isterseniz uyarı felan da
  Application.Initialize;                                                               // gösterebilirsiniz..
  Application.MainFormOnTaskbar := True;
  Application.Title := 'ABC v1.0';
  Application.CreateForm(TForm1, Form1);
  Application.Run;
end.

[Resim: uyari.gif]Uyarı: İndirmeye başlamadan önce lütfen linklerin hepsini kontrol ediniz.
[Resim: istek.gif]İstek Yapmadan Önce Forumda Sadece Üyeler Linkleri Görebilir. Üye Olmak İçin TIKLAYIN Yapınız!
[Resim: saygi.gif]Verilen emeğe lütfen saygı gösteriniz. En azından bir teşekkür edebilirsiniz.


Her Türlü Sorununuzda Bana Ulaşın.
Zamanın Durduğu Kaliteli İnsanların Paylaşım Mekanı

Sadece Üyeler Linkleri Görebilir. Üye Olmak İçin TIKLAYIN

Hedefimiz En Büyük ve En İyi Olmaktır
Kullanıcının websitesini ziyaret et Bu kullanıcının gönderdiği tüm mesajları bul
Bu mesajı bir cevapta alıntı yap
Konuyu Gönder  Mesaj Önizleme 


Foruma Git:

OdevTurkiye.NeT - helllife.org - Tuba Büyüküstün - Yasemin Ergene - Selena Dizisi - AccessTr.neT - Amy Lee - burak sağyaşar