dosya meşgul hatası

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
duraumsa
Üye
Mesajlar: 27
Kayıt: 24 Eki 2015 12:54

Re: dosya meşgul hatası

Mesaj gönderen duraumsa » 19 Eki 2019 08:40

evet otomatik olarak kayıt yapıyor. timer tarafından tetikleniyor timer 2100 ayarlı

ertank
Üye
Mesajlar: 1237
Kayıt: 11 Eyl 2015 11:45

Re: dosya meşgul hatası

Mesaj gönderen ertank » 19 Eki 2019 10:42

Dosya yazma işlemi bitmeden ikinci dosya yazma işlemini tetikliyor olma ihtimaliniz çok yüksek. Dosya yazma kodunu aşağıdaki şekilde düzenleyip yeniden deneyebilir misiniz?

Kod: Tümünü seç

// implementation kısmının altına tanımlanacak form içinde kullanılabilir değişken
var
  GlobalIslemYapiliyorDurumu: Boolean = False;

procedure TForm2.Button1Click(Sender: TObject);
var
  bmp: TBitMap;
  r: Trect;
begin
  // işlem yapılıyor ise kilitlenmeye sebeo olmamak için çık
  if GlobalIslemYapiliyorDurumu then Exit(); 

  // üst üste işlem yapılmaması için değişkeni düzenle
  GlobalIslemYapiliyorDurumu := True;

  bmp := nil;
  try
    bmp := TBitMap.Create;
    bmp.Width := 1000;
    bmp.Height := 210;
    bmp.PixelFormat := pf24bit;

    if WaitForFileReady('C:\silim_setup\resim13.bmp', 1000) then
    begin
      r := Rect(0, 0, bmp.Width, bmp.Height);
      bmp.Canvas.StretchDraw(r, Image1.Picture.Graphic);
      bmp.SaveToFile('C:\silim_setup\resim13.bmp');
      image2.Picture.LoadFromFile('C:\silim_setup\resim13.bmp');
    end
    else
    begin
      ShowMessage('Dosya okuma hatası !!!');
    end;
  finally
    bmp.Free;
    // işlem yapılmadığını belirtmek için değişkeni düzenle
    GlobalIslemYapiliyorDurumu := False;
  end;
end;

Cevapla