我必須解決一個問題:Delphi的動態形式陣列和數據陣列管理
Form23:
public
{ Public declarations }
FormsArray : array of TForm24;
end;
Procedure Create_form;
begin
SetLength(FormsArray, Length(FormsArray)+1);
FormsArray[Length(FormsArray)-1] := TForm24.Create(Self);
end;
Form24:
public
end;
var
UniqueValue : Array of ShortString;
Procedure Fill_Unique;
var
tmp1 : Longint;
begin
SetLength(UniqueValue, 256);
for tmp1 := 0 to Length(UniqueValue)-1 do
begin
UniqueValue[tmp1] := IntToStr(tmp1);
end;
end;
Procedure OnButtonClick(Sender);
begin
Fill_Unique;
end;
時,我有一種形式Form24和我填充一些價值觀,那麼它就沒問題。
當我有兩種形式Form24(FormsArray [0]和FormsArray [1]),我更改UniqueValue在一種形式,然後我有兩種形式的值。
即
創建FormsArray [0]和FormsArray [1]
當我點擊FormsArray按鈕[0]:
FormsArray [0] - UniqueValue [...] = '1,2,3,4,5,6,7,8,9 ......';
FormsArray [1] - UniqueValue [...] ='1,2,3,4,5,6,7,8,9 ...';
當我點擊FormsArray按鈕[1]:
FormsArray [0] - UniqueValue [...] =「1,2,3,4,5,6,7,8,9 .. ';
FormsArray [1] - UniqueValue [...] ='1,2,3,4,5,6,7,8,9 ...';
當我更改代碼:
Form24:
public
UniqueValue : Array of ShortString;
end;
和我點擊按鈕FormsArray [1]那麼我:
FormsArray [0] - UniqueValue [... ] ='';
FormsArray [1] - UniqueValue [...] ='';
UniqueValue爲空。
我需要在我創建的每個窗體Form24中有獨立數組(每個窗體創建時都有不同的UniqueValue)。
如何做到這一點?我做錯了什麼?
感謝您的任何幫助。
已解決!
我得到-1的解決方案,我寫在這裏。那麼將是無法解決的。搜索你自己。
在你的「解決方案」中陳述的所有內容都是無關緊要的(你從來沒有向我們展示過你所說的,所以誰在乎你從哪裏調用它或者什麼時候?)或者重複你已經在問題中陳述的內容(表單數組) 。您是不是想要顯示* strings *數組的新聲明,就像我已經在我的答案中顯示的那樣? – 2012-03-16 13:32:51
問題不在代碼中,而是來自調用方法。我不知道錯誤在哪裏。如果我知道,我不會問。我發佈解決方案,這種情況下的主要問題在哪裏(如果有人遇到這個問題,因爲很難找到)。我得到了-1,然後我將刪除解決方案。 – wcale 2012-03-16 20:29:48