تجلی
پنج شنبه 06 بهمن 1390, 11:53 صبح
سلام .
در این کد فایل ایجاد میشه ولی ، فایل باز میمونه و خالی هم هست تا زمانی که sleep تموم بشه ! در حالی که در کد دوم برنامه فایل رو سیو میکنه و میبنده هر چند زمان sleep تموم نشده باشه . >
کد اول >>
begin
TIdText(Msg.MessageParts.Items[i]).Body.SaveToFile('e:\hi.html');
sleep(20000)
end
کد دوم >
begin
memo1.Lines.SaveToFile();
sleep(20000)
end
من چطور میتونم مشکل کد اول رو حلش کنم چون نیاز دارم این کد فایل رو ایجاد کنه و در جا هم سیوش کنه و بسته بشه چون بلافاصله بعد از ایجاد شدنش در یک thread متد synchronize فراخوانی میشه و اونجا باید فرم اصلی این فایل رو بخونه ولی تا پایان کار synchronize این فایل باز میمونه و امکان دسترسی بهش نیست .
در کد اول خواستم فایل رو در یک stream سیو کنم و بعد از طریق این استریم فایل رو ایجاد کنم که باز هم با همین مشکل مواجه شدم یعنی باز هم برنامه بلافاصله فایل رو سیو نمیکنه و باز نگهش میداره .
در این کد فایل ایجاد میشه ولی ، فایل باز میمونه و خالی هم هست تا زمانی که sleep تموم بشه ! در حالی که در کد دوم برنامه فایل رو سیو میکنه و میبنده هر چند زمان sleep تموم نشده باشه . >
کد اول >>
begin
TIdText(Msg.MessageParts.Items[i]).Body.SaveToFile('e:\hi.html');
sleep(20000)
end
کد دوم >
begin
memo1.Lines.SaveToFile();
sleep(20000)
end
من چطور میتونم مشکل کد اول رو حلش کنم چون نیاز دارم این کد فایل رو ایجاد کنه و در جا هم سیوش کنه و بسته بشه چون بلافاصله بعد از ایجاد شدنش در یک thread متد synchronize فراخوانی میشه و اونجا باید فرم اصلی این فایل رو بخونه ولی تا پایان کار synchronize این فایل باز میمونه و امکان دسترسی بهش نیست .
در کد اول خواستم فایل رو در یک stream سیو کنم و بعد از طریق این استریم فایل رو ایجاد کنم که باز هم با همین مشکل مواجه شدم یعنی باز هم برنامه بلافاصله فایل رو سیو نمیکنه و باز نگهش میداره .