Kelas COleSafeArray
Kelas untuk bekerja dengan array jenis dan dimensi arbitrer.
Sintaks
class COleSafeArray : public tagVARIANT
Anggota
Konstruktor Publik
Nama | Deskripsi |
---|---|
COleSafeArray::COleSafeArray | Membuat COleSafeArray objek. |
Metode Publik
Nama | Deskripsi |
---|---|
COleSafeArray::AccessData | Mengambil penunjuk ke data array. |
COleSafeArray::AllocData | Mengalokasikan memori untuk array. |
COleSafeArray::AllocDescriptor | Mengalokasikan memori untuk deskriptor array aman. |
COleSafeArray::Lampirkan | Memberikan kontrol array yang ada VARIANT ke COleSafeArray objek. |
COleSafeArray::Clear | Membebaskan semua data dalam yang mendasar VARIANT . |
COleSafeArray::Copy | Membuat salinan array yang sudah ada. |
COleSafeArray::Create | Membuat array yang aman. |
COleSafeArray::CreateOneDim | Membuat objek satu dimensi COleSafeArray . |
COleSafeArray::D estroy | Menghancurkan array yang ada. |
COleSafeArray::D estroyData | Menghancurkan data dalam array yang aman. |
COleSafeArray::D estroyDescriptor | Menghancurkan deskriptor array yang aman. |
COleSafeArray::D etach | Melepaskan array VARIAN dari COleSafeArray objek (sehingga data tidak akan dibebaskan). |
COleSafeArray::GetByteArray | Menyalin konten array aman ke dalam CByteArray. |
COleSafeArray::GetDim | Mengembalikan jumlah dimensi dalam array. |
COleSafeArray::GetElement | Mengambil elemen tunggal dari array aman. |
COleSafeArray::GetElemSize | Mengembalikan ukuran, dalam byte, dari satu elemen dalam array yang aman. |
COleSafeArray::GetLBound | Mengembalikan batas bawah untuk dimensi array aman apa pun. |
COleSafeArray::GetOneDimSize | Mengembalikan jumlah elemen dalam objek satu dimensi COleSafeArray . |
COleSafeArray::GetUBound | Mengembalikan batas atas untuk dimensi array aman apa pun. |
COleSafeArray::Lock | Menaikkan jumlah kunci array dan menempatkan penunjuk ke data array dalam deskriptor array. |
COleSafeArray::P trOfIndex | Mengembalikan penunjuk ke elemen terindeks. |
COleSafeArray::P utElement | Menetapkan satu elemen ke dalam array. |
COleSafeArray::Redim | Mengubah batas array yang paling tidak signifikan (paling kanan). |
COleSafeArray::ResizeOneDim | Mengubah jumlah elemen dalam objek satu dimensi COleSafeArray . |
COleSafeArray::UnaccessData | Mengurangi jumlah kunci array dan membatalkan penunjuk yang diambil oleh AccessData . |
COleSafeArray::Buka kunci | Mengurangi jumlah kunci array sehingga dapat dibebaskan atau diubah ukurannya. |
Operator Publik
Nama | Deskripsi |
---|---|
COleSafeArray::operator LPCVARIANT | Mengakses struktur objek yang COleSafeArray mendasarVARIANT . |
COleSafeArray::operator LPVARIANT | Mengakses struktur objek yang COleSafeArray mendasarVARIANT . |
COleSafeArray::operator = | Menyalin nilai ke dalam COleSafeArray objek (SAFEARRAY , , VARIANT , COleVariant atau COleSafeArray array). |
COleSafeArray::operator == | Membandingkan dua array varian (SAFEARRAY , , VARIANT , COleVariant atau COleSafeArray array). |
COleSafeArray::operator << |
Menghasilkan konten COleSafeArray objek ke konteks cadangan. |
Keterangan
COleSafeArray
berasal dari struktur OLE VARIANT
. Fungsi anggota OLE SAFEARRAY
tersedia melalui COleSafeArray
, serta sekumpulan fungsi anggota yang dirancang khusus untuk array byte satu dimensi.
Hierarki Warisan
tagVARIANT
COleSafeArray
Persyaratan
Header: afxdisp.h
COleSafeArray::AccessData
Mengambil penunjuk ke data array.
void AccessData(void** ppvData);
Parameter
ppvData
Penunjuk ke penunjuk ke data array.
Keterangan
Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
Contoh
void CMainFrame::Sort(VARIANT* vArray)
{
COleSafeArray sa;
BSTR* pbstr;
TCHAR buf[1024];
LONG cElements, lLBound, lUBound;
//needed for OLE2T macro below, include afxpriv.h
USES_CONVERSION;
// Type check VARIANT parameter. It should contain a BSTR array
// passed by reference. The array must be passed by reference it is
// an in-out-parameter.
if (V_VT(vArray) != (VT_ARRAY | VT_BSTR))
{
AfxThrowOleDispatchException(1001,
_T("Type Mismatch in Parameter. Pass a string array by reference"));
}
// clears data in sa and copies the variant data into sa
sa.Attach(*vArray);
// Check that array is 1 dimensional
if (sa.GetDim() != 1)
{
AfxThrowOleDispatchException(1002,
_T("Type Mismatch in Parameter. Pass a one-dimensional array"));
}
try
{
// Get array bounds.
sa.GetLBound(1, &lLBound);
sa.GetUBound(1, &lUBound);
// Get a pointer to the elements of the array
// and increments the lock count on the array
sa.AccessData((LPVOID*)& pbstr);
//get no. of elements in array
cElements = lUBound - lLBound + 1;
for (int i = 0; i < cElements; i++)
{
//output the elements of the array
_stprintf_s(buf, 1024, _T("[%s]\n"), OLE2T(pbstr[i]));
OutputDebugString(buf);
}
//decrement lock count
sa.UnaccessData();
}
catch (COleException* pEx)
{
AfxThrowOleDispatchException(1003,
_T("Unexpected Failure in FastSort method"));
pEx->Delete();
}
}
COleSafeArray::AllocData
Mengalokasikan memori untuk array yang aman.
void AllocData();
Keterangan
Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
COleSafeArray::AllocDescriptor
Mengalokasikan memori untuk deskriptor array yang aman.
void AllocDescriptor(DWORD dwDims);
Parameter
dwDims
Jumlah dimensi dalam array aman.
Keterangan
Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
COleSafeArray::Lampirkan
Memberikan kontrol data dalam array yang ada VARIANT
ke COleSafeArray
objek.
void Attach(VARIANT& varSrc);
Parameter
varSrc
Objek VARIANT
. Parameter varSrc harus memiliki VT_ARRAY VARTYPE.
Keterangan
Jenis sumber VARIANT
diatur ke VT_EMPTY. Fungsi ini menghapus data array saat ini, jika ada.
Contoh
Lihat contoh untuk COleSafeArray::AccessData.
COleSafeArray::Clear
Menghapus array aman.
void Clear();
Keterangan
Fungsi menghapus array aman dengan mengatur VARTYPE
objek ke VT_EMPTY. Konten saat ini dirilis dan array dibebaskan.
COleSafeArray::COleSafeArray
Membuat COleSafeArray
objek.
COleSafeArray();
COleSafeArray(
const SAFEARRAY& saSrc,
VARTYPE vtSrc);
COleSafeArray(
LPCSAFEARRAY pSrc,
VARTYPE vtSrc);
COleSafeArray(const COleSafeArray& saSrc);
COleSafeArray(const VARIANT& varSrc);
COleSafeArray(LPCVARIANT pSrc);
COleSafeArray(const COleVariant& varSrc);
Parameter
saSrc
Objek yang COleSafeArray
sudah ada atau SAFEARRAY
akan disalin ke dalam objek baru COleSafeArray
.
vtSrc
VARTYPE objek baru COleSafeArray
.
psaSrc
Penunjuk ke yang SAFEARRAY
akan disalin ke dalam objek baru COleSafeArray
.
varSrc
Objek atau COleVariant
yang sudah ada VARIANT
untuk disalin ke dalam objek baruCOleSafeArray
.
pSrc
Penunjuk ke objek yang VARIANT
akan disalin ke objek baru COleSafeArray
.
Keterangan
Semua konstruktor ini membuat objek baru COleSafeArray
. Jika tidak ada parameter, objek kosong COleSafeArray
dibuat (VT_EMPTY). COleSafeArray
Jika disalin dari array lain yang VARTYPE-nya diketahui secara implisit (COleSafeArray
, , COleVariant
atau VARIANT
), VARTYPE dari array sumber dipertahankan dan tidak perlu ditentukan. COleSafeArray
Jika disalin dari array lain yang VARTYPE-nya tidak diketahui (SAFEARRAY
), VARTYPE harus ditentukan dalam parameter vtSrc.
Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
COleSafeArray::Copy
Membuat salinan array aman yang ada.
void Copy(LPSAFEARRAY* ppsa);
Parameter
ppsa
Penunjuk ke lokasi untuk mengembalikan deskriptor array baru.
Keterangan
Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
COleSafeArray::Create
Mengalokasikan dan menginisialisasi data untuk array.
void Create(
VARTYPE vtSrc,
DWORD dwDims,
DWORD* rgElements);
void Create(
VARTYPE vtSrc,
DWORD dwDims,
SAFEARRAYBOUND* rgsabounds);
Parameter
vtSrc
Jenis dasar array (yaitu, VARTYPE dari setiap elemen array). VARTYPE dibatasi untuk subset jenis varian. Baik bendera VT_ARRAY maupun VT_BYREF tidak dapat diatur. VT_EMPTY dan VT_NULL bukan jenis dasar yang valid untuk array. Semua jenis lainnya legal.
dwDims
Jumlah dimensi dalam array. Ini dapat diubah setelah array dibuat dengan Redim.
rgElements
Penunjuk ke array jumlah elemen untuk setiap dimensi dalam array.
rgsabounds
Penunjuk ke vektor batas (satu untuk setiap dimensi) untuk mengalokasikan array.
Keterangan
Fungsi ini akan menghapus data array saat ini jika perlu. Jika terjadi kesalahan, fungsi melempar CMemoryException.
Contoh
COleSafeArray saMatrix;
DWORD numElements[] = { 10, 5 };
// creates a 2 dimensional safearray of type VT_I2
// with size 10x5 elements, with all indices starting at 0(default)
saMatrix.Create(VT_I2, 2, numElements);
ASSERT(saMatrix.GetDim() == 2);
COleSafeArray saVector;
SAFEARRAYBOUND rgsabounds[] = { {5, 2} };
// creates a 1 dimensional safearray of type VT_I1
// with size 5 elements, with the index starting at 2
saVector.Create(VT_I1, 1, rgsabounds);
ASSERT(saVector.GetDim() == 1);
COleSafeArray::CreateOneDim
Membuat objek satu dimensi COleSafeArray
baru.
void CreateOneDim(
VARTYPE vtSrc,
DWORD dwElements,
const void* pvSrcData = NULL,
long nLBound = 0);
Parameter
vtSrc
Jenis dasar array (yaitu, VARTYPE dari setiap elemen array).
dwElements
Jumlah elemen dalam array. Ini dapat diubah setelah array dibuat dengan ResizeOneDim.
pvSrcData
Arahkan ke data untuk disalin ke dalam array.
nLBound
Batas bawah array.
Keterangan
Fungsi mengalokasikan dan menginisialisasi data untuk array, menyalin data yang ditentukan jika penunjuk pvSrcData bukan NULL.
Jika terjadi kesalahan, fungsi melempar CMemoryException.
Contoh
VARIANT varColInfo[3];
//initialize VARIANTs
for (int i = 0; i < 3; i++)
VariantInit(&varColInfo[i]);
// Column Name
varColInfo[0].vt = VT_BSTR;
varColInfo[0].bstrVal = ::SysAllocString(L"Name");
// Column Type
varColInfo[1].vt = VT_UI4;
varColInfo[1].lVal = 1;
COleSafeArray sa;
//create a 1 dimensional safearray of VARIANTs
//& initialize it with varColInfo VARIANT array
sa.CreateOneDim(VT_VARIANT, 2, varColInfo);
//check that the dimension is 2
ASSERT(sa.GetOneDimSize() == 2);
//increase safearray size by 1
sa.ResizeOneDim(3);
// populate the last element of the safearray, (Column Size)
varColInfo[2].vt = VT_I4;
varColInfo[2].lVal = 30;
long el = 2;
sa.PutElement(&el, &varColInfo[2]);
COleSafeArray::D estroy
Menghancurkan deskriptor array yang ada dan semua data dalam array.
void Destroy();
Keterangan
Jika objek disimpan dalam array, setiap objek akan dirilis. Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
COleSafeArray::D estroyData
Menghancurkan semua data dalam array yang aman.
void DestroyData();
Keterangan
Jika objek disimpan dalam array, setiap objek akan dirilis. Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
COleSafeArray::D estroyDescriptor
Menghancurkan deskriptor array yang aman.
void DestroyDescriptor();
Keterangan
Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
COleSafeArray::D etach
Mencopot VARIANT
data dari COleSafeArray
objek.
VARIANT Detach();
Tampilkan Nilai
Nilai yang mendasar VARIANT
dalam COleSafeArray
objek.
Keterangan
Fungsi ini mencopot data dalam array aman dengan mengatur VARTYPE objek ke VT_EMPTY. Ini adalah tanggung jawab pemanggil untuk membebaskan array dengan memanggil fungsi Windows VariantClear.
Jika terjadi kesalahan, fungsi melempar COleException.
Contoh
Lihat contoh untuk COleSafeArray::P utElement.
COleSafeArray::GetByteArray
Menyalin konten array aman ke dalam CByteArray
.
void GetByteArray(CByteArray& bytes);
Parameter
Byte
Referensi ke objek CByteArray .
COleSafeArray::GetDim
Mengembalikan jumlah dimensi dalam COleSafeArray
objek.
DWORD GetDim();
Tampilkan Nilai
Jumlah dimensi dalam array aman.
Contoh
COleSafeArray saMatrix;
DWORD numElements[] = { 10, 5 };
// creates a 2 dimensional safearray of type VT_I2
// with size 10x5 elements, with all indices starting at 0(default)
saMatrix.Create(VT_I2, 2, numElements);
ASSERT(saMatrix.GetDim() == 2);
COleSafeArray saVector;
SAFEARRAYBOUND rgsabounds[] = { {5, 2} };
// creates a 1 dimensional safearray of type VT_I1
// with size 5 elements, with the index starting at 2
saVector.Create(VT_I1, 1, rgsabounds);
ASSERT(saVector.GetDim() == 1);
COleSafeArray::GetElement
Mengambil elemen tunggal dari array aman.
void GetElement(
long* rgIndices,
void* pvData);
Parameter
rgIndices
Penunjuk ke array indeks untuk setiap dimensi array.
pvData
Arahkan ke lokasi untuk menempatkan elemen array.
Keterangan
Fungsi ini secara otomatis memanggil fungsi SafeArrayLock
windows dan SafeArrayUnlock
sebelum dan sesudah mengambil elemen. Jika elemen data adalah string, objek, atau varian, fungsi menyalin elemen dengan cara yang benar. Parameter pvData harus menunjuk ke buffer yang cukup besar untuk berisi elemen .
Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
Contoh
//sa is of type COleSafeArray with 2 dimensions
//Determine upper bounds for both dimensions
long lNumRows;
long lNumCols;
sa.GetUBound(1, &lNumRows);
sa.GetUBound(2, &lNumCols);
//Display the elements in the SAFEARRAY.
long index[2];
VARIANT val;
//Determine lower bounds for both dimensions
long lowRow, lowCol;
sa.GetLBound(1, &lowRow);
sa.GetLBound(2, &lowCol);
for (long r = lowRow; r <= lNumRows; r++)
{
for (long c = lowCol; c <= lNumCols; c++)
{
index[0] = r;
index[1] = c;
//retrieve each element of the safearray
sa.GetElement(index, &val);
switch (val.vt)
{
case VT_R8:
TRACE(_T("%1.2f\n"), val.dblVal);
break;
case VT_BSTR:
TRACE(_T("%s\n"), (CString)val.bstrVal);
break;
// other cases omitted
case VT_EMPTY:
TRACE(_T("<empty>\n"));
break;
}
}
}
COleSafeArray::GetElemSize
Mengambil ukuran elemen dalam COleSafeArray
objek.
DWORD GetElemSize();
Tampilkan Nilai
Ukurannya, dalam byte, dari elemen array yang aman.
COleSafeArray::GetLBound
Mengembalikan batas bawah untuk dimensi COleSafeArray
objek apa pun.
void GetLBound(
DWORD dwDim,
long* pLBound);
Parameter
dwDim
Dimensi array untuk mendapatkan batas bawah.
pLBound
Arahkan ke lokasi untuk mengembalikan batas bawah.
Keterangan
Jika terjadi kesalahan, fungsi melempar COleException.
Contoh
COleSafeArray saMatrix;
DWORD numElements[] = { 10, 5 };
// creates a 2 dimensional safearray of type VT_I2
// with size 10x5 elements, with all indices starting at 0(default)
saMatrix.Create(VT_I2, 2, numElements);
long lLBound;
//get lower bound for 1st dimension
saMatrix.GetLBound(1, &lLBound);
ASSERT(lLBound == 0);
//get lower for 2nd dimension
saMatrix.GetLBound(2, &lLBound);
ASSERT(lLBound == 0);
COleSafeArray saVector;
SAFEARRAYBOUND rgsabounds[] = { {5, 1} };
// creates a 1 dimensional safearray of type VT_I1
// with size 5 elements, with the index starting at 1
saVector.Create(VT_I1, 1, rgsabounds);
//get lower bound for 1st dimension
saVector.GetLBound(1, &lLBound);
ASSERT(lLBound == 1);
COleSafeArray::GetOneDimSize
Mengembalikan jumlah elemen dalam objek satu dimensi COleSafeArray
.
DWORD GetOneDimSize();
Tampilkan Nilai
Jumlah elemen dalam array aman satu dimensi.
Contoh
Lihat contoh untuk COleSafeArray::CreateOneDim.
COleSafeArray::GetUBound
Mengembalikan batas atas untuk dimensi array aman apa pun.
void GetUBound(
DWORD dwDim,
long* pUBound);
Parameter
dwDim
Dimensi array untuk mendapatkan batas atas.
pUBound
Arahkan ke lokasi untuk mengembalikan batas atas.
Keterangan
Jika terjadi kesalahan, fungsi melempar COleException.
Contoh
COleSafeArray saMatrix;
DWORD numElements[] = { 10, 5 };
// creates a 2 dimensional safearray of type VT_I2
// with size 10x5 elements, with all indices starting at 0(default)
saMatrix.Create(VT_I2, 2, numElements);
long lUBound;
ASSERT(saMatrix.GetDim() == 2);
//get upper bound for 1st dimension
saMatrix.GetUBound(1, &lUBound);
ASSERT(lUBound == 9);
//get upper bound for 2nd dimension
saMatrix.GetUBound(2, &lUBound);
ASSERT(lUBound == 4);
COleSafeArray saVector;
SAFEARRAYBOUND rgsabounds[] = { {5, 1} };
// creates a 1 dimensional safearray of type VT_I1
// with size 5 elements, with the index starting at 1
saVector.Create(VT_I1, 1, rgsabounds);
//get upper bound for 1st dimension
saVector.GetUBound(1, &lUBound);
ASSERT(lUBound == 5);
COleSafeArray::Lock
Menaikkan jumlah kunci array dan menempatkan penunjuk ke data array dalam deskriptor array.
void Lock();
Keterangan
Pada kesalahan, itu melempar COleException.
Penunjuk dalam deskriptor array valid hingga Unlock
dipanggil. Panggilan ke Lock
dapat ditumpuk; diperlukan jumlah panggilan Unlock
yang sama.
Array tidak dapat dihapus saat dikunci.
COleSafeArray::operator LPCVARIANT
Panggil operator transmisi ini untuk mengakses struktur yang mendasar VARIANT
untuk objek ini COleSafeArray
.
operator LPCVARIANT() const;
COleSafeArray::operator LPVARIANT
Panggil operator transmisi ini untuk mengakses struktur yang mendasar VARIANT
untuk objek ini COleSafeArray
.
operator LPVARIANT();
Keterangan
Perhatikan bahwa mengubah nilai dalam struktur yang VARIANT
diakses oleh penunjuk yang dikembalikan oleh fungsi ini akan mengubah nilai objek ini COleSafeArray
.
COleSafeArray::operator =
Operator penugasan yang kelebihan beban ini menyalin nilai sumber ke dalam objek ini COleSafeArray
.
COleSafeArray& operator=(const COleSafeArray& saSrc);
COleSafeArray& operator=(const VARIANT& varSrc);
COleSafeArray& operator=(LPCVARIANT pSrc);
COleSafeArray& operator=(const COleVariant& varSrc);
Keterangan
Deskripsi singkat tentang setiap operator berikut:
operator =( saSrc ) Menyalin objek yang ada
COleSafeArray
ke dalam objek ini.operator =( varSrc ) Menyalin yang ada
VARIANT
atauCOleVariant
array ke dalam objek ini.operator =( pSrc ) Menyalin objek array yang
VARIANT
diakses oleh pSrc ke dalam objek ini.
COleSafeArray::operator ==
Operator ini membandingkan dua array (SAFEARRAY
, VARIANT
, COleVariant
, atau COleSafeArray
array) dan mengembalikan nonzero jika sama; jika tidak, 0.
BOOL operator==(const SAFEARRAY& saSrc) const; BOOL operator==(LPCSAFEARRAY pSrc) const;
BOOL operator==(const COleSafeArray& saSrc) const; BOOL operator==(const VARIANT& varSrc) const;
BOOL operator==(LPCVARIANT pSrc) const; BOOL operator==(const COleVariant& varSrc) const;
Keterangan
Dua array sama jika memiliki jumlah dimensi yang sama, ukuran yang sama di setiap dimensi, dan nilai elemen yang sama.
COleSafeArray::operator <<
Operator COleSafeArray
penyisipan (<<) mendukung pembuangan diagnostik dan penyimpanan COleSafeArray
objek ke arsip.
CDumpContext& AFXAPI operator<<(
CDumpContext& dc,
COleSafeArray& saSrc);
COleSafeArray::P trOfIndex
Mengembalikan penunjuk ke elemen yang ditentukan oleh nilai indeks.
void PtrOfIndex(
long* rgIndices,
void** ppvData);
Parameter
rgIndices
Array nilai indeks yang mengidentifikasi elemen array. Semua indeks untuk elemen harus ditentukan.
ppvData
Saat kembali, arahkan ke elemen yang diidentifikasi oleh nilai dalam rgIndices.
COleSafeArray::P utElement
Menetapkan satu elemen ke dalam array.
void PutElement(
long* rgIndices,
void* pvData);
Parameter
rgIndices
Penunjuk ke array indeks untuk setiap dimensi array.
pvData
Arahkan ke data untuk ditetapkan ke array. jenis varian VT_DISPATCH, VT_UNKNOWN, dan VT_BSTR adalah pointer dan tidak memerlukan tingkat tidak langsung lainnya.
Keterangan
Fungsi ini secara otomatis memanggil fungsi Windows SafeArrayLock dan SafeArrayUnlock sebelum dan sesudah menetapkan elemen . Jika elemen data adalah string, objek, atau varian, fungsi menyalinnya dengan benar, dan jika elemen yang ada adalah string, objek, atau varian, maka akan dihapus dengan benar.
Perhatikan bahwa Anda dapat memiliki beberapa kunci pada array, sehingga Anda dapat memasukkan elemen ke dalam array saat array dikunci oleh operasi lain.
Jika terjadi kesalahan, fungsi melempar CMemoryException atau COleException.
Contoh
VARIANT retVariantArray()
{
COleSafeArray saRet;
DWORD numElements[] = { 10, 10 }; // 10x10
// Create the 2 dimensional safe-array of type VT_R8 with size 10x10
saRet.Create(VT_R8, 2, numElements);
// Initialize safearray with values...
long index[2];
for (index[0] = 0; index[0] < 10; index[0]++)
{
for (index[1] = 0; index[1] < 10; index[1]++)
{
double val = index[0] + index[1] * 10;
//populate the safearray elements with double values
saRet.PutElement(index, &val);
}
}
// Return the safe-array encapsulated in a VARIANT...
return saRet.Detach();
}
COleSafeArray::Redim
Mengubah batas array yang paling tidak signifikan (paling kanan).
void Redim(SAFEARRAYBOUND* psaboundNew);
Parameter
psaboundNew
Penunjuk ke struktur terikat array aman baru yang berisi terikat array baru. Hanya dimensi array yang paling tidak signifikan yang dapat diubah.
Keterangan
Jika terjadi kesalahan, fungsi melempar COleException.
COleSafeArray::ResizeOneDim
Mengubah jumlah elemen dalam objek satu dimensi COleSafeArray
.
void ResizeOneDim(DWORD dwElements);
Parameter
dwElements
Jumlah elemen dalam array aman satu dimensi.
Keterangan
Jika terjadi kesalahan, fungsi melempar COleException.
Contoh
Lihat contoh untuk COleSafeArray::CreateOneDim.
COleSafeArray::UnaccessData
Mengurangi jumlah kunci array dan membatalkan penunjuk yang diambil oleh AccessData
.
void UnaccessData();
Keterangan
Jika terjadi kesalahan, fungsi melempar COleException.
Contoh
Lihat contoh untuk COleSafeArray::AccessData.
COleSafeArray::Buka kunci
Mengurangi jumlah kunci array sehingga dapat dibebaskan atau diubah ukurannya.
void Unlock();
Keterangan
Fungsi ini dipanggil setelah akses ke data dalam array selesai. Pada kesalahan, itu melempar COleException.
Lihat juga
Bagan Hierarki
Kelas COleVariant
Kelas CRecordset
Kelas CDatabase