Prefetch Abort
Når jeg debugger nedenstående kode får jeg følgende fejlmedddelse efter den sidste }.---------------
Prefetch Abort: Thread=88f5aa68 Proc=8807ec38 'ADODEMO.exe'
AKY=00000401 PC=0069004c RA=8003ea84 BVA=0069004c
First-chance exception in ADODEMO.exe: 0xC0000005: Access Violation.
-------------
test returnere 0 som den skal
funktion skal gemme instillingen af 2 listviews i registryen, hvilket den også gør.
Men hvorfor kommer den med den fejlmeddelse.
LPARAM DoMainCommandSaveSettings (HWND hWnd, WORD idItem, HWND hwndCtl,
WORD wNotifyCode) {
HKEY hKey;
DWORD BufferSize ;
LPLVCOLUMN pCol;
LVCOLUMN Col;
HWND hwndLV;
int i = 0;
Columns RegStruct [15];
bool openReg = false;
long test;
pCol = &Col;
hwndLV = GetDlgItem (hMain, IDC_LISTVCOMPANY);
Col.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_FMT | LVCF_SUBITEM;
while (ListView_GetColumn(hwndLV,i,pCol)){
RegStruct [i].mask= pCol->mask;
RegStruct [i].fmt= pCol->fmt;
RegStruct [i].cx =pCol->cx;
_tcscpy(RegStruct [i].pszText,(LPTSTR)(pCol->pszText));
RegStruct [i].iSubItem= pCol->iSubItem;
RegStruct [i].dbFelt= lvCompColumns[i].dbFelt;
i++;
Col.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_FMT | LVCF_SUBITEM;
}
BufferSize = i*80;
if (RegOpenKeyEx (HKEY_LOCAL_MACHINE,TEXT("Software\\Sam-X"), 0, KEY_ALL_ACCESS, &hKey) == ERROR_SUCCESS)
{
openReg = true;
test = RegSetValueEx(hKey,_T("CompColumns"),NULL,REG_BINARY,(LPBYTE)RegStruct, BufferSize);
test = RegSetValueEx(hKey,_T("CompCount"),NULL,REG_DWORD,(LPBYTE)&i, 4);
}
hwndLV = GetDlgItem (hMain, IDC_LISTVNOTES);
i = 0;
while (ListView_GetColumn(hwndLV,i,pCol)){
RegStruct [i].mask= pCol->mask;
RegStruct [i].fmt= pCol->fmt;
RegStruct [i].cx =pCol->cx;
_tcscpy(RegStruct [i].pszText,(LPTSTR)(pCol->pszText));
RegStruct [i].iSubItem= pCol->iSubItem;
RegStruct [i].dbFelt= lvNotesColumns[i].dbFelt;
i++;
Col.mask = LVCF_TEXT | LVCF_WIDTH | LVCF_FMT | LVCF_SUBITEM;
}
BufferSize = i*80;
if (openReg) {
test = RegSetValueEx(hKey,_T("NotesColumns"),NULL,REG_BINARY,(LPBYTE)RegStruct, BufferSize);
test = RegSetValueEx(hKey,_T("NotesCount"),NULL,REG_DWORD,(LPBYTE)&i, 4);
test = RegCloseKey (hKey);
}
return 0;
}
