PDA

View Full Version : سوال: ترد و اتصال به جدول



gbg
سه شنبه 17 آبان 1390, 14:43 عصر
سلام
وقتی با بیشتر از 4 ترد به یه جدول از sqlserver وصل میشه برنامه ارور میگیره
تو برنامه از کامپوننت uni استفاده کردم و البته TUniQuery رو داخل پروسیجر میسازم و بعد از اتمام کار آزادش می کنم
ارورش هم Access violation at ...

vcldeveloper
سه شنبه 17 آبان 1390, 22:53 عصر
خب الان با این توضیح کلی و این خطای کلی تر از توضیحاتت، انتظار چه نوع راهنمایی داری؟! باید توضیحاتی بدی، یا کدی قرار بدی که بشه مشکلت رو reproduce کرد.

gbg
چهارشنبه 18 آبان 1390, 10:36 صبح
خب بجان خودم کار خاصی نکردم تو هر ترد جداول رو باز می کنم و تعداد از رکورد ها رو می خونم مثلا 100 تا کد دارم و هر ترد 10 تا رو می خونه و توی یه لیست ذخیره میکنه
تردها کوئری رو میگیرن ولی وقتی نوبت به ترد 5 میشه اون اررور رو میگیره
خودت که بهتر میدونی تریس کردن برنامه های تردی خیلی سخت هستش مخصوصا که ارروری که میده چیزی رو مشخص نکنه
البته درحال حاضز به خاطر همین تعداد ترد ها رو 4 تا در نظر گرفتم و هر ترد تعداد بیشتری از اطلاعات رو لود میکنه ، در سر فرصت از ADO استفاده می کنم شاید مشکلم رفع بشه

vcldeveloper
چهارشنبه 18 آبان 1390, 20:22 عصر
خب بجان خودم کار خاصی نکردم تو هر ترد جداول رو باز می کنم
چطوری؟ جداول چطور باز میشند؟ به چه کانکشنی متصل هستند؟ اون کانکشن توی چه Thread ایی ساخته شده؟ AV روی چه خطی رخ میده؟ Call stack چی هست؟ Memory Leak داری یا نداری؟ از همون "کار خاصی نکردم" ده ها سوال در میاد.

gbg
شنبه 21 آبان 1390, 09:53 صبح
خب تو این دو روز تعطیل تمام کامپوننت های uni رو به ADO تبدیل کردم و مشکل باز کردن جداولش حل شد فکر مشکل از UNI بود و تو ترد درست کار نمی کرد
کانکشن رو خارج از ترد باز می کردم Memory Leak هم نداشتم
شاید مشکل این بوده که کانکشن رو خارج از ترد باز میکردم ولی خب با ADO هم همین کار رو انجام میدم و تغییریب در کد ندادم