|
BTW, how many more new IDs are you going to create at CodeProject? We have watchful eyes, you see. I can make it out easily from your grammar and writing style.
I remember these IDs of you - they may not be accurate, you get the picture:
raju k, nisha00005 (2 more along the lines with the name nisha), madan(something), etc., You were also a noted member of the Book Buying Band.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Certifications aren't for shouting people.
BTW:
(1) rarely skilled developers need a certification.
(2) rarely a certified developer is skilled.
[added]
I notice you've found yourself the right way to enhance you developer's reputation [^]. Well done, I give you two suggestions:
(1) give the correct answer.
(2) post your answer to the original question, not to another answer.
[/added]
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
CPallini wrote: BTW:
(1) rarely skilled developers need a certification.
(2) rarely a certified developer is skilled.
Very true.
I just don't understand why you put the joke icon on your post....
"It's supposed to be hard, otherwise anybody could do it!" - selfquote "High speed never compensates for wrong direction!" - unknown
|
|
|
|
|
|
You should specify the folder containing msg_bus2005.lib file in Visual Studio 's library search path.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
use
#pragmma comment(lib,"msg_bus2005.lib");
Regards
Raju K
|
|
|
|
|
Why did you removed the OP?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
After calling CRecordSet::AddNew, I am calling CRecortSet::update( ). But this is throwing an exception like Updating record set fails. Can I know what could be the reason.
|
|
|
|
|
A good reading [^].
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
MyView wrote: But this is throwing an exception like Updating record set fails. Can I know what could be the reason.
There should be specific info in the exception object. CDBException has a return code
abd two error strings - what's in there (so we don't have to guess)?
Mark
Mark Salsbery
Microsoft MVP - Visual C++
|
|
|
|
|
Hi All,
I have a application developed in VS2005(MFC80).It uses a dll which is developed in VS2003(MFC71).This dll has a CList<> which crashes at the point when it is destroyed i.e when the destructor is called for the CList. This happens when i run my application on Vista OS.
One Solution for the above problem is that I port the dll to VS2005.I tried porting the dll . It works fine without any crashes, but this solution is not feasible for my team.
Can anyone suggest any other solution to the above problem.
Thanks
Shailesh
|
|
|
|
|
Shaileshhex wrote: One Solution for the above problem is that I port the dll to VS2005.I tried porting the dll . It works fine without any crashes, but this solution is not feasible for my team.
Shaileshhex wrote: Can anyone suggest any other solution to the above problem.
Port your team to 2008.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
|
I need some answers friend!
|
|
|
|
|
I think the debugger is your best friend.
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
Why not try debugging? Why not show us the code so that we don't need to waste our telepathic powers on this?
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
You havent wrote what is in the CList?
Greetings from Germany
|
|
|
|
|
Clist is declared as
typedef CList<userdefinedtype> _lllist;
thanks
|
|
|
|
|
Clist is declared as
typedef CList<userdefinedtype> _lllist;
|
|
|
|
|
Clist is declared as
typedef CList<userdefinedtype , &userdefinedtype> _lllist;
|
|
|
|
|
and what is the "userdefinedtype" in your case? Check the destructor of it.
Greetings from Germany
|
|
|
|
|
hi all,
i am placing here a piece of code which was a function used to retrieve the drive letter of a USB from the corresponding device ID.
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
BOOL GetSpecificDrive(LPTSTR lpDevID, TCHAR* DrvName)
{
DebugLog("entered GetSpecificDrive");
HDEVINFO hVolInfo;
GUID guid;
BYTE buffer[BUFFER_SIZE];
DWORD dwRequiredSize ;
TCHAR buf[BUFFER_SIZE],buf1[BUFFER_SIZE];
DEVINST devInstParent;
DWORD dwIndex;
TCHAR volume[BUFFER_SIZE];
int nLength;
DWORD size;
ULONG Status,Problem;
SP_DEVINFO_LIST_DETAIL_DATA devInfoListDetail;
SP_DEVICE_INTERFACE_DATA devInterfaceData;
SP_DEVINFO_DATA devInfoData,devInfo;
PSP_DEVICE_INTERFACE_DETAIL_DATA pDevDetail;
TCHAR TargetPath[BUFFER_SIZE]= {0};
if(!lpDevID)
{
DebugLog("!lpDevId");
return 0;
}
// GUID_DEVINTERFACE_VOLUME is interface Guid for Volume class devices.
guid = GUID_DEVINTERFACE_VOLUME;
// Get device Information handle for Volume interface
hVolInfo = SetupDiGetClassDevs(&guid, NULL, NULL,
DIGCF_DEVICEINTERFACE |
DIGCF_PRESENT);
if(hVolInfo == INVALID_HANDLE_VALUE)
{
DebugLog("hVolInfo == INVALID_HANDLE_VALUE");
return 0;
}
// Loop until device interfaces are found.
for(dwIndex = 0; ;dwIndex ++)
{
ZeroMemory(&devInterfaceData, sizeof(devInterfaceData));
devInterfaceData.cbSize = sizeof(devInterfaceData);
// Get device Interface data.
char errorCondition[100] = {0};
if(!SetupDiEnumDeviceInterfaces(hVolInfo, NULL, &guid,dwIndex,&devInterfaceData))
{
sprintf(errorCondition,"error code returned : %d ",GetLastError());
DebugLog("!SetupDiEnumDeviceInterfaces");
DebugLog(errorCondition);
break;
}
ZeroMemory(&devInfoData, sizeof(devInfoData));
devInfoData.cbSize = sizeof(devInfoData);
pDevDetail = (PSP_DEVICE_INTERFACE_DETAIL_DATA)buffer;
pDevDetail->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA);
// Get device interface detail data to get
// Device Instance from SP_DEVINFO_DATA and
// Device Path from SP_DEVICE_INTERFACE_DETAIL_DATA
if(!SetupDiGetDeviceInterfaceDetail(hVolInfo,
&devInterfaceData,
pDevDetail, // SP_DEVICE_INTERFACE_DETAIL_DATA
BUFFER_SIZE,
&dwRequiredSize,
&devInfoData)) // SP_DEVINFO_DATA
{
char errcndn[100] = {0};
sprintf(errcndn,"error code returned : %d",GetLastError());
DebugLog(errcndn);
DebugLog("!SetupDiGetDeviceInterfaceDetail");
break;
}
// Get the device instance of parent. This points to USBSTOR.
DebugLog("CM_Get_Parent call");
if(CM_Get_Parent(&devInstParent,devInfo.DevInst, 0) != CR_SUCCESS)
{
DebugLog("CM_Get_Parent failed");
}
// Get the device instance of grand parent. This points to USB root.
DebugLog("CM_Get_Parent 2 call");
if(CM_Get_Parent(&devInstParent,devInstParent, 0) != CR_SUCCESS)
{
DebugLog("CM_Get_Parent 2 failed");
}
// Get the device ID of the USB root.
DebugLog("CM_Get_Device_ID call");
if(CM_Get_Device_ID(devInstParent, buf,BUFFER_SIZE,0) != CR_SUCCESS)
{
DebugLog("Cm_Get_Device_ID failed");
}
DebugLog("Buf value grandparent :::::::::::::::::");
DebugLog(buf);
DebugLog(lpDevID);
if( buf1 != NULL && _tcscmp(lpDevID,buf1) == 0)
{
// Append \ to the DevicePath of SP_DEVICE_INTERFACE_DETAIL_DATA
nLength = (int)strlen(pDevDetail->DevicePath);
pDevDetail->DevicePath[nLength] = '\\';
pDevDetail->DevicePath[nLength+1] = 0;
char dev[260] = {0};
sprintf(dev,"%s",pDevDetail->DevicePath);
DebugLog(pDevDetail->DevicePath);
DebugLog(dev);
// Get Volume mount point for the device path.
char errorReport[50] = {0};
if(GetVolumeNameForVolumeMountPoint(pDevDetail->DevicePath,volume,BUFFER_SIZE))
{
if(GetVolumePathNamesForVolumeName(volume,TargetPath,BUFFER_SIZE,&size))
{
_stprintf(DrvName,"%s", TargetPath);
DebugLog(DrvName);
DebugLog("entered GetSpecificDrive 1");
return 1;
}
else
{
DebugLog("Error");
DebugLog("exiting GetSpecificDrive 0");
return 0;
}
}
else
{
sprintf(errorReport,"Error Code returned is %d",GetLastError());
DebugLog("!GetVolumeNameForVolumeMountPoint");
DebugLog(errorReport);
}
}
}
SetupDiDestroyDeviceInfoList(hVolInfo);
DebugLog("exiting GetSpecificDrive");
return 0;
}
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
this code is works fine when it is used in development for win-xp.
windows vista has got some other thigs to go. this code doesnt work.. the functions cm_get_parent encounters an error in retrieving the grandparent device id . as i looked upon i found that in vista there is no parent child concept and in vista USB devices are no longer handled as removable device instead they are handled as fixed drives.
i am stuck up here in this part of my code as without getting the drive letter, i cant proceed further.
what changes can i make or is there any other code which can replace the above code for getting the same functionality/??????????????????
|
|
|
|
|
- Please do not shout(i.e. do not use bold and bigger fonts.)
- Please format your code using code block button at the bottom
Regards,
Sandip.
|
|
|
|
|
Hi All
How can i set image on button?Plz help me
|
|
|
|
|
Hi,
Here is good tutorial for using bitmap button
Bitmap Button[^]
Also don't forget to look at Button Controls[^] section of CP.
I hope it helps.
Regards,
Sandip.
|
|
|
|