原型方法需要建立輸入陣列。您必須正確地建立和管理這個陣列。
如果要將陣列作為輸入參數,就必須建立並填寫陣列。
下列範例顯示產生的 Stub 所需要的 可為空值簡式陣列類型的一般用法。此陣列是方法的輸入陣列範例。範例假設 陣列包含三個元素,它們的值分別為 0、1 和 2。
// 需要 3 個元素的輸入陣列。 int iArraySize = 3; // 要當作輸入參數來傳送至 Web 服務的定案 (final) 物件類型。 xsd__int_Array iInputArray; // 包含要傳送之值的預備陣列。請注意, // 陣列是屬於所需類型之指標的陣列。 xsd__int ** ppiPrepArray = new xsd__int*[iArraySize]; // 用來移入預備陣列的迴圈。 for( int iCount = 0 ; iCount < iArraySize ; iCount++) { // 類型為指標的陣列中的每一個元素都會填入 // 屬於所需類型的物件的指標。在這個範例中,我們 // 已經選擇讓每一個元素的值與現行計數相同, // 所以已將這個值傳送到新的指標實例。 ppiPrepArray[iCount] = new xsd__int( iCount); } // 設定定案 (final) 物件的內容,以包含 // 預備陣列的元素。 iInputArray.set( ppiPrepArray, iArraySize); … 呼叫使用輸入陣列的 Web 服務 … // 不再需要 iInputArray。刪除其中所保留的預備陣列。 for( int iCount = 0 ; iCount < iArraySize ; iCount++) { // 刪除指標陣列中的每一個指標。 delete ppiPrepArray[iCount]; ppiPrepArray[iCount] = NULL; } // 刪除指標陣列,然後將值設為 NULL,使它 // 無法重複使用。 delete [] ppiPrepArray; ppiPrepArray = NULL;
當方法傳回時,就可以損毀 iInputType。如果將 iInputType 建立作為指標 (piInputType),則用戶端使用者程式碼必須記得刪除它, 否則程式碼將會產生記憶體洩漏。