csyasar Posted June 30, 2015 Posted June 30, 2015 Merhaba, bir butona tıklama sonucunda procedure'e yönleniyorum. sonrasında eğer showmessage ve messagedlg ile bir alert görüntülemek istersem sistem kilitleniyor Kodlar ve diğer bilgiler aşağıdaki şekildedir. procedure TMainForm.btMuhClick(Sender: TObject); begin MessageDlg('Şuan ekranınızda ' + IntToStr(dm.qFat.RecordCount) + ' adet kayıt gösteriliyor.' +#13+#13+ 'Bu kayıtları muhasebelendirmek (Ödendi olarak işaretlemek) istediğinizden emin misiniz?', mtConfirmation, [mbYes, mbNo], muhonay); end; muhonay procedure procedure muhonay(Sender: TComponent; Res: Integer); begin if Res=mrYes then begin dm.qFat.First; while not (dm.qFat.Eof) do begin if dm.qFatdurum.AsString='Satın Alma' then begin dm.qFat.Edit; dm.qFatdurum.AsString:='Muhasebe'; dm.qFat.Post; end; dm.qFat.Next; end; end; ShowMessage('Tamamlandı!'); end; Eğer kodlar bu şekilde çalışırsa yazılımı çalıştıran servis ve yazılım kilitleniyor. muhonay'daki showmessage('Tamamlandı!') kodunu çıkarırsanız sorunsuz çalışıyor. hata nerede? delphi 2010, unigui 0.99.10.1182 Quote
Administrators Farshad Mohajeri Posted June 30, 2015 Administrators Posted June 30, 2015 procedure muhonay(Sender: TComponent; Res: Integer); begin if Res=mrYes then begin dm.qFat.First; while not (dm.qFat.Eof) do begin if dm.qFatdurum.AsString='Satın Alma' then begin dm.qFat.Edit; dm.qFatdurum.AsString:='Muhasebe'; dm.qFat.Post; end; dm.qFat.Next; end; end; ShowMessage('Tamamlandı!'); end; "procedure muhonay" class fonksiyonu olarak yazılmadığı için VCL'deki ShowMessage'ı çağrıyor. Bu yüzden servis kitleniyor. Aşağıdaki gibi yapın düzelecektir. procedure TMainForm.muhonay(Sender: TComponent; Res: Integer); begin ... end; Quote
csyasar Posted June 30, 2015 Author Posted June 30, 2015 yazdığınız şekilde sorunsuz çalıştı teşekkür ederim Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.