15
當然,即使我能做到這一點...通過引用這樣傳遞到一個進程的陣列上的SetLength
var
testarray : array of string;
setlength(testarray, 5);
,但如果我想聰明,有到我的傳遞數組的程序這樣的保證我不能這樣做!
procedure DoStuffWithArray(var passedarray : array of string);
begin
setlength(passedarray, 5);
end;
編譯器在我的proc中的單行代碼中說'不兼容的類型'。
如果我在調用proc之前做了一個setlength,但我不能在我的proc中執行setlength,這就是我想要做的,我可以在set數組中設置其他元素。
任何幫助非常感謝,謝謝大家。
非常感謝梅森:) – csharpdefector 2010-05-23 01:48:03
@Csharpdefetor - 如果你喜歡梅森的答案(這是一個很好的答案),那麼你應該接受它。你也會得到代表獎金。 – 2010-05-23 03:35:13
這是由於Delphi語法中的歷史怪癖,因爲它對打開的數組參數使用相同的語法。見http://stackoverflow.com/questions/2112729/biggest-delphi-nitpicks/2113650#2113650 – 2010-05-23 08:54:28