مشکل با paradox و BDE-لطفا راهنمایی کنید
سلام به همه دوستان
من یک database با Paradox دارم و در برنامه از alias استفاده کردم. برای search در onchange یک editbox کد زیر رو نوشتم.
table1.Active:=false;
query1.Active:=false;
query1.SQl.Clear;
query1.SQL.Add('select * from dr where name like :na and familly like :fa ');
query1.ParamByName('na').AsString:=(txtname.Text)+'%';
query1.ParamByName('fa').AsString:=(txtfamily.Text)+'%';
query1.ExecSQL;
table1.Active:=true;
query1.Active:=true;
dbgrid1.DataSource.DataSet:=query1;
برنامه به خوبی کار می کنه ولی روی سیستم خودم بعد از حدودا 70 بار که جستجو انجام میشه پیغام زیر رو میده(روی سیستم دیگه بعد از 20 بار اجرا)
Project DR.EXE raised exception class EDB Engine Error with mesage "Insufficient memory for this operation"a.
و باید از برنامه خارج شد و دوباره run کرد.
لطفا راهنماییم کنید:ناراحت: .آیا راهی هست که بدون نیاز به تغییر paradox یا بدون نیاز به حذف alias برنامه درست بشه؟
ممنون از همه دوستان
نقل قول: مشکل با paradox و BDE-لطفا راهنمایی کنید
نقل قول:
برنامه به خوبی کار می کنه ولی روی سیستم خودم بعد از حدودا 70 بار که جستجو انجام میشه پیغام زیر رو میده(روی سیستم دیگه بعد از 20 بار اجرا)
اولا فکر میکنم Event ای که شما این کدها رو واسش نوشتین درست نیست، اگه trace کنین می بینین که شما هر کاراکتری که تایپ میکنید ای کد فراخوانی میشه! OnExit بنظرم بهتره، چرا اینکار رو میکنید؟ Query شما که ثابته! فقط پارامترهاتون تغییر میکنن؛ هردفعه اینهمه کار نکنین، نیازی به Close/Open جدولتون هم نیست چون دو تا مقوله جدا هستن، فقط پارامترهای Query رو مقداردهی کنین
پ.ن. : کدهاتون رو هم تو تگ کد بذارین که بشه خوندشون!
نقل قول: مشکل با paradox و BDE-لطفا راهنمایی کنید
سلام و ممنون
من کاملا متوجه نشدم. یعنی کسی نمی دونه علتش چیه ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ :ناراحت:
کمککککککککککککککککککککککک کککککککککککککککک لطفا :ناراحت:
نقل قول: مشکل با paradox و BDE-لطفا راهنمایی کنید
http://info.borland.com/devsupport/sqllinks/pub-88.html
- C:\Program Files\Borland\Common Files and open the BDE folder.
- Click the System Folder to expand it.
- Click the INIT icon. A list of configuration settings will display.
- Type 0x5BDE in the SHAREDMEMLOCATION field.
- Change the value in the SHAREDMEMSIZE field to 4096.
- Click the Object pull-down menu.
- Click Apply, and then answer OK to the confirmation to Save all edits...
- If the problem still occurs, try the same instructions above, but this time try a SHAREDMEMSIZE property at 8192.
نقل قول: مشکل با paradox و BDE-لطفا راهنمایی کنید
نقل قول:
نوشته شده توسط
merced
http://info.borland.com/devsupport/sqllinks/pub-88.html
- C:\Program Files\Borland\Common Files and open the BDE folder.
- Click the System Folder to expand it.
- Click the INIT icon. A list of configuration settings will display.
- Type 0x5BDE in the SHAREDMEMLOCATION field.
- Change the value in the SHAREDMEMSIZE field to 4096.
- Click the Object pull-down menu.
- Click Apply, and then answer OK to the confirmation to Save all edits...
- If the problem still occurs, try the same instructions above, but this time try a SHAREDMEMSIZE property at 8192.
سلام .وقعا ممنون
مطلب جدید و جالبی بود. ممنون
ولی متاسفانه با تغییرات بالا هم باز پیغام insufficiente mmemory for this operation رو میده. فکر می کنید چی میتونه باشه؟؟؟؟
نقل قول: مشکل با paradox و BDE-لطفا راهنمایی کنید
اين ديگه معركه است . بهتر هم نشد؟
شايد واقعاً حافظه كم مياره.
شايد موقع شروع برنامه همه جداول رو باز مي كني بدون اينكه نياز داشته باشي.
كد رو بهينه كنيد. هر جدول هر زمان كه لازمه باز شه و به موقع هم بسته شه.
جداول رو كامل باز نكن . مثلاً اگه قراره كارمند جستجو كنيد ليست 10000 تايي رو نشون كاربر نديد. بذاريد اول اسمش رو بزنه و بعد جستجو انجام بشه. كه اونوقت حداكثر 100 ركورد رو برگردونيد.
حتماً از كوئري استفاده كنيد و تمام بازيابي ها رو به روشي محدود كنيد. مثلاً بطور پيش فرض ركوردهاي ثبت شده روز جاري فقط نشون داده بشه و بذاريد كاربر جستجو كنه!
نقل قول: مشکل با paradox و BDE-لطفا راهنمایی کنید
ok سعی می کنم برنامه رو بهینه کنم. ممنون از راهنماییت
خودم که حسابی گیج شدم. اگر به مشکلی برخوردم مزاحم همه دوستان میشم :گیج:
نقل قول: مشکل با paradox و BDE-لطفا راهنمایی کنید
نقل قول:
نوشته شده توسط
merced
http://info.borland.com/devsupport/sqllinks/pub-88.html
- C:\Program Files\Borland\Common Files and open the BDE folder.
- Click the System Folder to expand it.
- Click the INIT icon. A list of configuration settings will display.
- Type 0x5BDE in the SHAREDMEMLOCATION field.
- Change the value in the SHAREDMEMSIZE field to 4096.
- Click the Object pull-down menu.
- Click Apply, and then answer OK to the confirmation to Save all edits...
- If the problem still occurs, try the same instructions above, but this time try a SHAREDMEMSIZE property at 8192.
سلام
قبلا خدمتتون گفتم که کارهای بالا رو انجام دادم و جواب نداد. حتی بیان شد نکنه واقعا حافظه در حین کار کم میاد . برنامه ای با یک table که شامل 3 رکورد هست رو هم امتحان کردم و باز پیغام Insuffisient memmory for this operation رو میده
نقل قول: مشکل با paradox و BDE-لطفا راهنمایی کنید
واقعاً ديگه چيزي باقي نمونده از كامپوننت Session و پراپرتي PrivateDir اون براي مشخص كردن يه مسير روي ديسك كه فضاي بيشتري داره استفاده كنيد
يا كلاً اين مسير رو از BDEAdmin عوض كنين
شايد روي ديسك فضاي كافي ندارين (كه با پست بالا بعيد به نظر ميرسه)
راستي اينو ديدي ؟؟
https://barnamenevis.org/showthread.php?t=25286
نقل قول: مشکل با paradox و BDE-لطفا راهنمایی کنید
سلام برای جستجو توی paradox به قول معروف خیلی لقمه رو دور سرت تابوندی . از فیلتر استفاده کن.توی onchange این کدها رو بنویس
if Name.Text<>'' then
begin
Form2.Table1.Filter:='Name = '+''''+name.Text+'*''';
form2.Table1.Filtered:=True;
end
else
Form2.Table1.Filtered:=False;