ज़रूर, यहां तक कि मैं यह कर सकता ...संदर्भ द्वारा एक सरणी एक proc में पारित कर दिया पर एक SetLength कर
var
testarray : array of string;
setlength(testarray, 5);
लेकिन मैं चालाक हो और एक प्रक्रिया है जो में मैं द्वारा सरणी पारित करना चाहते हैं, तो इस तरह का संदर्भ मैं इसे नहीं कर सकता!
procedure DoStuffWithArray(var passedarray : array of string);
begin
setlength(passedarray, 5);
end;
कंपाइलर मेरी proc में कोड की एक पंक्ति पर 'असंगत प्रकार' कहता है।
मैं सेट सेट तत्व मानों जैसे सरणी पर अन्य सामान कर सकता हूं यदि मैं proc को कॉल करने से पहले एक सेटलेथेंथ करता हूं, लेकिन मैं अपनी proc में setlength नहीं कर सकता, जो मैं करना चाहता हूं।
किसी भी मदद की बहुत सराहना की, धन्यवाद।
आपको बहुत मेसन धन्यवाद :) – csharpdefector
@Csharpdefetor - यदि आपको मेसन का जवाब पसंद है (जो एक अच्छा है) तो आपको इसे स्वीकार करना चाहिए। आपको भी प्रतिनिधि बोनस मिलेगा। –
यह डेल्फी के वाक्यविन्यास में ऐतिहासिक क्विर्क के कारण है, जिसमें यह खुले सरणी पैरामीटर के लिए समान वाक्यविन्यास का उपयोग करता है। Http://stackoverflow.com/questions/2112729/biggest-delphi-nitpicks/2113650#2113650 देखें –