PDA

View Full Version : سوال: هنگ کردن برنامه هنگام زیپ کردن فایل



SHD.NET
پنج شنبه 30 آذر 1391, 19:48 عصر
سلام . من با استفاده از یه کامپوننت فایل ها رو زیپ میک نم . روش کاری بدین صورته که ابتدا فایل ها ادد میشن و با استفاده از یه کد همه فایلها توی مسیر مشخصیی ذخیره میشن . اما هنگام استفاده از این کد که میخواد فایل ها رو زیپ کنه برنامه هنگ میکنه not responding میشه .
کد application.doevents رو هم استفاده کردم فایده نداشت .
میخواتم ببینم راه های دیگه ای هم هست ؟؟ ممنون

JaVa
پنج شنبه 30 آذر 1391, 20:01 عصر
سلام و.

از چند نخی یا MultiThread استفاده کنید :

: آموزش جامع Threading و مباحث مربوطه مثل synchronization (http://barnamenevis.org/showthread.php?275344-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%D8%AC%D8%A7%D9%85%D8%B9-Threading-%D9%88-%D9%85%D8%A8%D8%A7%D8%AD%D8%AB-%D9%85%D8%B1%D8%A8%D9%88%D8%B7%D9%87-%D9%85%D8%AB%D9%84-synchronization&highlight=%DA%86%D9%86%D8%AF+%D9%86%D8%AE%DB%8C)

موفق باشید

SHD.NET
پنج شنبه 30 آذر 1391, 20:10 عصر
من اون مقاله رو دیدم اما چیزی متجه نشدم و چیزی دستم رو نگرفت

من با این کد فایل ها رو زیپ مکنم
zip.WriteZipAndClose()
حالا چجوری باید توی این ترد به کار ببرم ؟

tstsst
پنج شنبه 30 آذر 1391, 20:31 عصر
از BackgroundWorker هم میتونی استفاده کنی اگه با Thread کار نکردی البته هردو مثل همن
تو DoWork بکگراندورکر

zip.WriteZipAndClose()

رو بنویس و تو کلیدی که این کدو میخواد اجرا کنه

BackgroundWorker1.RunWorkerAsync

یا Thread تو این جوری تعریف کن


Imports System.Threading

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim zth As New Thread(AddressOf zp)
zth.Start()
End Sub

Sub zp()
zip.WriteZipAndClose()
End Sub