registry ve açılışta hata veren program

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

registry ve açılışta hata veren program

Mesaj gönderen y.kulac »

s.a.
aşağıdaki kod ile programımın windows açılışında açılmasını sağladım.

Kod: Tümünü seç

procedure TfrmSecenek.CeButton1Click(Sender: TObject);
var 
reg: TRegistry; 
begin
if Checkbox1.Checked = True then
Begin
reg := TRegistry.Create;
reg.RootKey := HKEY_LOCAL_MACHINE;
reg.LazyWrite := false;
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false);
reg.WriteString('NamazVakti','C:\Program Files\NamazVakti\NamazVakti.exe');
reg.CloseKey;
reg.free;
ibtable1.Close;
close;
end;
end;
ama regedit'ten "'Software\Microsoft\Windows\CurrentVersion\Run" a baktığım zaman yukarıdaki gibi bir anahtar göremedim. fakat windows açılışnda program çalışıyor. ama peş peşe iki defa çalışıyor. yukarıdaki anahtarı nasıl silerim. mustafa abinin dökümanında DeleteKey'anahtar_ismi') ile mevcut bir anahtarı silebilirsiniz. yazıyor. fakat registry konusunda yeni olduğum için yanlış bir şey yapmak istemiyorum.

diğer bir sorun ise program firebird veritabanı ile bağlantılar içeriyor.
windows'un açılışnda firebird server benim programdan sonra açılıyor gibime geliyor. çünkü program çalışınca veritabanını bulunamadı gibi hata veriyor. daha sonra 20-30 sn. sonra programı manuel çalıştırınca bir sorun olmuyor. :?:
iyi çalışmalar dileği ile.
Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1527
Kayıt: 11 Tem 2003 04:55
Konum: İstanbul

Mesaj gönderen lazio »

program çalıştığında vt ye bağlanmadan önce firebird ü bir döngü içersinde kontrol etsin. firebird çalışıyorsa bağlansın. çalışmıyorsa taskbar da offline msn gibi beklesin..
DeveloperToolKit

..::|YeşilMavi|::..
Kullanıcı avatarı
ALUCARD
Üye
Mesajlar: 1270
Kayıt: 27 Eyl 2003 10:12
Konum: Samsun
İletişim:

Mesaj gönderen ALUCARD »

lazio yazdı:program çalıştığında vt ye bağlanmadan önce firebird ü bir döngü içersinde kontrol etsin. firebird çalışıyorsa bağlansın. çalışmıyorsa taskbar da offline msn gibi beklesin..
peki bir bilgisayarda firebirdin çalışıp çalışmadığını nasıl anlayacağız

ve eğer çalışmıyorsa bunu yani programı bekleme konumuna nasıl alacağız. :lol:
بِسْمِ اللهِ الرَّحْمنِ الرَّحِيمِ
Forumun 365. Üyesi
Hiç Bir Şey İnsan Kadar Yükselemez ve Alçalamaz

Erkan ÇAĞLAR
Kullanıcı avatarı
mege
Admin
Mesajlar: 2360
Kayıt: 05 Şub 2004 04:32
Konum: Beşiktaş
İletişim:

Mesaj gönderen mege »

:ara firebird serverrunning
.-.-.-.-.-.-.-. ^_^
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

ALUCARD yazdı:
lazio yazdı:program çalıştığında vt ye bağlanmadan önce firebird ü bir döngü içersinde kontrol etsin. firebird çalışıyorsa bağlansın. çalışmıyorsa taskbar da offline msn gibi beklesin..
peki bir bilgisayarda firebirdin çalışıp çalışmadığını nasıl anlayacağız
Firebird'ü Eğer servis olarak kullanıyorsan şu şekilde çalışıp çalışmadığını kontrol edebilirsin:
viewtopic.php?t=4249&highlight=servis
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

Mesaj gönderen y.kulac »

arkadaşlar ilk kodda belirttiğim

Kod: Tümünü seç

reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false); 
reg.WriteString('NamazVakti','C:\Program Files\NamazVakti\NamazVakti.exe'); 
bu kod ile program açılışta çalışıyor. peki bunu nasıl silebilirim. yani program açılışta çalışmasın.

Kod: Tümünü seç

reg.DeleteKey('Software\Microsoft\Windows\CurrentVersion\Run',false); 
desem olur mu? mantıken olmaz gibi geliyor. belirtilen anahtarı komple siler galiba.

reg.WriteString('NamazVakti','C:\Program Files\NamazVakti\NamazVakti.exe'); ben bunu silmek isityorum.

iyi çalışmalar.
Kullanıcı avatarı
salvation
Üye
Mesajlar: 303
Kayıt: 22 Mar 2004 01:57
Konum: Eskişehir
İletişim:

Mesaj gönderen salvation »

y.kulac yazdı: reg.WriteString('NamazVakti','C:\Program Files\NamazVakti\NamazVakti.exe'); ben bunu silmek isityorum.
- DeleteKey('anahtar_ismi') ile mevcut bir anahtarı silebilirsiniz.
- DeleteValue('değer_ismi') ile bir değeri silebilirsiniz.

Kod: Tümünü seç

reg := TRegistry.Create; 
reg.RootKey := HKEY_LOCAL_MACHINE; 
reg.LazyWrite := false; 
reg.OpenKey('Software\Microsoft\Windows\CurrentVersion\Run',false); 

reg.DeleteKey('NamazVakti');

reg.CloseKey; 
reg.free; 
Kullanıcı avatarı
y.kulac
Üye
Mesajlar: 276
Kayıt: 08 Kas 2003 12:03
Konum: serdivan/sakarya

Mesaj gönderen y.kulac »

teşekkür ederim.
Cevapla