Windows güncelleme kontrolu yaparken formun kilitlenmesi.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
saygıner
Üye
Mesajlar: 9
Kayıt: 11 Ağu 2014 02:41

Windows güncelleme kontrolu yaparken formun kilitlenmesi.

Mesaj gönderen saygıner »

Arkadaşlar windowsun güncellemelerini bu fonsiyonla kontrol ederken formlar kilitlenip kalıyor,ne yapabilrim.

function GuncellemeVarMi: boolean;
var
updateSession : OleVariant;
updateSearcher : OleVariant;
updateSearchResult : OleVariant;
begin
updateSession:= CreateOleObject('Microsoft.Update.Session');
updateSearcher := updateSession.CreateUpdateSearcher;
updateSearchResult:= updateSearcher.Search(Format('IsInstalled = 0 and Type=%s',[QuotedStr('Software')]));
Result := updateSearchResult.Updates.Count > 0;

end;
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4740
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi

Mesaj gönderen mrmarman »

Thread kavramını araştırınız. Forumda geniş kaynak mevcut.
Resim
Resim ....Resim
saygıner
Üye
Mesajlar: 9
Kayıt: 11 Ağu 2014 02:41

Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi

Mesaj gönderen saygıner »

thread konusundan hiç anlamıyorum ileri seviye bu konu halen hergün 3 saat delphi çalışıyorum yavaş yavaş inş ileri seviyeye gelecem
ama bu konuda hiç bilgim yok yardımcı olamazmısınız lütfen.
Kullanıcı avatarı
SimaWB
Üye
Mesajlar: 1316
Kayıt: 07 May 2009 10:42
Konum: İstanbul
İletişim:

Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi

Mesaj gönderen SimaWB »

Sn. mrmarman size zaten yardımcı olmuş :!:
Yol göstermiş, forumda yeterince kaynak olduğunu söylemiş. Daha nasıl bir yardım bekliyorsunuz anlamadım?
Thread'le alakalı forumda bulunan onlarca örnek/açıklama var.
There's no place like 127.0.0.1
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi

Mesaj gönderen G.Arkas »

Kodun da küçük bir değişiklik yaptım;

Kod: Tümünü seç

procedure GuncellemeVarMi;
var
updateSession : OleVariant;
updateSearcher : OleVariant;
updateSearchResult : OleVariant;
begin
CoInitialize(nil);
try
updateSession:= CreateOleObject('Microsoft.Update.Session');
updateSearcher := updateSession.CreateUpdateSearcher;
updateSearchResult:= updateSearcher.Search(Format('IsInstalled = 0 and Type=%s',[QuotedStr('Software')]));
if updateSearchResult.Updates.Count > 0 then
ShowMessage('New update found');
finally
CoUninitialize;
end;
end;
Çağırıken yeni bir Thread oluşturacaksın.

Kod: Tümünü seç

var
Crd : Cardinal;
begin
CreateThread(Nil, 0, @GuncellemeVarMi, Nil, 0, Crd);
Artık formun üzerinde bir yük oluşmaz.
Resim
Kullanıcı avatarı
G.Arkas
Üye
Mesajlar: 829
Kayıt: 01 Eki 2007 07:16
Konum: İstanbul
İletişim:

Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi

Mesaj gönderen G.Arkas »

Yukarıda oluşturdum zaten. Al buton click e yapıştır. :lol:
Resim
Cevapla