Hi! Using PB 4.2 and eVC on a Geode platform. I have
created simple app in eVC, which create new file on a HDD
and write some buffers into:
char buf[50000]; //BIG ENOUGH!!!
DWORD Written;
HANDLE f = CreateFile(L"\\Hard Disk\\myfile.txt",
GENERIC_WRITE | GENERIC_READ, 0, NULL, CREATE_ALWAYS,
FILE_ATTRIBUTE_NORMAL, 0);
DWORD Written;
if(f != INVALID_HANDLE_VALUE)
{
WriteFile(f, &buf[0], 500, &Written, NULL); //write 500
bytes
WriteFile(f, &buf[0], 600, &Written, NULL); //write 600
bytes
WriteFile(f, &buf[0], 700, &Written, NULL);
WriteFile(f, &buf[0], 800, &Written, NULL);
}
CloseHandle(f);
I debug my application, and see, that 500-byte buffer
writed OK, then 600-byte buffer.... 700... but when it
goes to 800-byte, system hangs up, HDD-led on a device
lights continiously, and PB throws message:
-----------------------------------
Runtime error in cemgr.exe
R6025
-pure virtual function call
-----------------------------------
Other buffer configuration give the same result, for
example 700, 800, 10000, last also hungs up.
I cant figure out what is wrong?? I'm not a newbie in
Win32 API and have used this function many times in
different apps (on a PC Windows). Everytime in works OK!
Release version of this app give the same result!
PLEASE HELP!!!