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;
Windows güncelleme kontrolu yaparken formun kilitlenmesi.
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi
Thread kavramını araştırınız. Forumda geniş kaynak mevcut.
Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi
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.
ama bu konuda hiç bilgim yok yardımcı olamazmısınız lütfen.
Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi
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.
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
Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi
Kodun da küçük bir değişiklik yaptım;
Çağırıken yeni bir Thread oluşturacaksın.
Artık formun üzerinde bir yük oluşmaz.
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;
Kod: Tümünü seç
var
Crd : Cardinal;
begin
CreateThread(Nil, 0, @GuncellemeVarMi, Nil, 0, Crd);
Re: Windows güncelleme kontrolu yaparken formun kilitlenmesi
Yukarıda oluşturdum zaten. Al buton click e yapıştır.