मेरे पास एक डेल्फी 4 प्रोग्राम था जिसे मैंने कई साल पहले विकसित किया था जो अनुक्रमिक रूप से माइक्रोसॉफ्ट एक्सेस डेटाबेस के माध्यम से खोज करने और इच्छित रिकॉर्ड्स पुनर्प्राप्त करने के लिए Opus DirectAccess का उपयोग करता था। डेल्फी 4 में एडीओ नहीं था, इसलिए मैं DirectAccess का उपयोग कर रहा था।एडीओ अगला रिकॉर्ड प्रसंस्करण क्यों डेल्फी में धीमा हो जाता है?
लेकिन अब मैं डेल्फी 200 9 में अपग्रेड कर चुका हूं और कार्यक्रम को एडीओ का उपयोग करने के लिए परिवर्तित कर चुका हूं। मुझे जो मिला वह था कि तालिका के माध्यम से लूप (कुछ 100,000 रिकॉर्ड) डायरेक्टएप में जितनी तेजी से शुरू होता है, लेकिन फिर यह धीमा हो जाता है और धीमा और धीमा हो जाता है क्योंकि यह तालिका के माध्यम से जाता है। मूल लूप है:
ArticlesTable.First;
while not Cancel and not ArticlesTable.Eof do begin
(See if the current record has criteria desired)
(If so, process the record)
ArticlesTable.Next;
end;
तो मूल रूप से, यह केवल .Next विधि का उपयोग कर रिकॉर्ड को संसाधित कर रहा है।
तो यह धीमा क्यों हो रहा है, और मैं इसे कैसे रिकोड कर सकता हूं ताकि यह धीमा न हो जाए?
"ArticleTable.DisableControls" जोड़ना "ArticleTable.First;" से पहले समस्या तय की। उत्तम! आपको बहुत - बहुत धन्यवाद! – lkessler