|
_bstr_t have destructors which free the internal string, so if its local the destructor will be called when it goes out of scope. If you created it using 'new' you have to delete it.
|
|
|
|
|
Right.. I'm not creating it using new...So i don't need to free it..
Cool..
Once again thanks Jonathan
|
|
|
|
|
One more question...
I'm giving something like this.
int found1 = wsVar.find_first_of(L"&&&&");
while(found1 != wsVar.npos)
{
wsVar.replace(found1, 1, L"\"");
found1 = wsVar.find_first_of(L"&&&&",found1+1);
}
So wherever it found one "&" it convert to ".. I need that whenever it found "&&&&" then only it replace with "(double quotes only)..
Is it possible???
Thanks
|
|
|
|
|
Hi All,
I am compiling my project in the release mode in VC++. I have a .def file where i have declared the setLog and now i am getting following error
Linking... Creating library Release/HKL.lib and object Release/HKL.exp HKL_libinterface.obj : error LNK2001: unresolved external symbol _SCTP_setLog@8
Please help me on the above to fix the problem.
Thanks
|
|
|
|
|
When the project was in Debug configuration perhaps you set the location of the library containing setlog in Project | Properties (but only in Debug config) and now it also needs setting in the properties for Release mode as well?
|
|
|
|
|
Hey can you tell me how to set this properties..
Thanks
|
|
|
|
|
Well I'm geussing this is the problem.
Have you managed to compile it in Debug mode?
|
|
|
|
|
yes i have compiled it in the debug mode..
and it is compiling fine in debug mode..
but when i compile in release mode i face this error which i mentioned
in my problem..
|
|
|
|
|
Depends on what version of Visual studio, but in 2008 its:
Project | Properties | Configuration Properties | Linker | General to see the Additional Library directories
and
Project | Properties | Configuration Properties | Linker | Input to see the Additional Dependancies
Look at these settings in Debug mode and then in Release mode, is there a setting in debug that is not in release?
|
|
|
|
|
|
How about WM_WINDOWPOSCHANGED[^]?
> The problem with computers is that they do what you tell them to do and not what you want them to do. <
> Life: great graphics, but the gameplay sux. <
|
|
|
|
|
Hai!
I have a string pointer in my MFC application, a function assigns some strings to this pointer.
Now i want to extract the strings, i do it in following manner:
CString *strArray;
...
// Function call () that assigns some strings
...
// code to extract each string from the pointer
for (i = 0; strArray [i] != ""; i ++)
{
// i am extracting each string like strArray [i]
}
but the problem is when it comes to end of the pointer, assume that there are 4 strings, when the loop checks for 5 th string(which is not present), it gives an unhandeled exception error.
when i debbugged, strArray[5] was pointing to "Bad Pointer"
How to resolve this problem.
Is there any better way to extract each string from a string pointer?
Thanks!
|
|
|
|
|
If you don't know how many strings will be stored in your array, I suggest you use a dynamic container, like a std::vector for instance. It will make your life much easier when working with a dynamic array.
If you still want to stick to your solution, then you will need an extra variable which counts the number of strings in the array (and the array should be large enough also).
|
|
|
|
|
As per Cedric's suggestions, or, surely there's an upper limit on either the number of strings strArray was defined to hold, or, this
// Function call () that assigns some strings
knows how many strings were assigned...
This being the case, why dont you run your loop to [max_elements-1], and inside the loop check if
strArray[n] == null
'g'
|
|
|
|
|
/*Function call () that assigns some strings*/
CString * GetstrArray(int len)
{
CString *re;
re=new CString[len];
//input your string
return re;
}
CString *strArray;
int len=4;
strArray=GetstrArray(len);
for(i=0;i<len&&strArray[i]!="";i++)
{
::AfxMessageBox(strArray[i]);
}
delete []strArray;
or
/*Function call () that assigns some strings*/
CString * GetstrArray(int &len)
{
CString *re;
int inlen=1;
inlen=4;//you can change the value
re=new CString[inlen];
//input your string
len=inlen;
return re;
}
CString *strArray;
int i;
int len;
strArray=GetstrArray(len);
for(i=0;i<len&&strArray[i]!="";i++)
{
::AfxMessageBox(strArray[i]);
}
delete []strArray;
modified on Friday, March 13, 2009 7:01 AM
modified on Friday, March 13, 2009 7:19 AM
|
|
|
|
|
Hi,
I have a necessary small code in OnSelectionChange() for ListCtrl. The code is needy for tests row(s) in ListCtrl - switch on/off a few controls. These tests must be doing automatically after what all selected rows are selected.
If I selected 20 rows in ListCtrl then method OnSelectionChange() is running 20 times. I don't need this.
Does exists some way so I can call OnSelectionChange() only once?
Is possible handled procedure for selection of rows? When the rows' marking is done, which function is called? - maybe I could puts tests in there...
thx for help...
|
|
|
|
|
OnSelectionChange() will be get called but you can return without doing anything if row selection count in more than 1.
-@SuDhIrKuMaR@-
|
|
|
|
|
However, I need checks selected row(s) and depending on selected row(s) enable/disable a couple buttons at form.
Does exits some function that is calling after markings row(s)?
these row(s) user selected…
for example:
ListCtrl has many rows. User marks 15 rows (by mouse/keyboard) and I need checks these rows one by one. After this, I enable/disable a few of buttons depending on selected rows…
|
|
|
|
|
Hi All,
i have one com+ service in which i am asking for IID_IXMLDOMElement interface which is giving me error
xmlIgent->QueryInterface (IID_IXMLDOMElement,(void**)&pVoid);
error which i am getting is:-
error C2065: 'IID_IXMLDOMElement' : undeclared identifier
Please can anyone tell me how to resolve this one.
Thanks A Ton
Ash_VCPP
|
|
|
|
|
Do you import the MSXML lib?
Unless you've done something else as well, the import will bring things in into a namespace (possibly MSXML2) so you need to specify this too.
Ex:
#import "C:\WINDOWS\System32\msxml3.dll"
using MSXML2;
You need to google first, if you have "It's urgent please" mentioned in your question.
_AnShUmAn_
|
|
|
|
|
Hi Anshuman,
i did import msxml stuff, but i dont have any idea, i also did google but didnt find anything useful, so please tell me some way to resolve this error.
Thanks A Ton
Ash_VCPP
|
|
|
|
|
See here[^]
You need to google first, if you have "It's urgent please" mentioned in your question.
_AnShUmAn_
|
|
|
|
|
Did you include the header file in which 'IID_IXMLDOMElement' is declared ?
|
|
|
|
|
Hi Cedric,
i am not sure about it, please can you tell me how i can declare it.i think i am new to this COM world so i dont know how to do this so please can u give me some idea or code...
Thanks A Ton
Ash_VCPP
|
|
|
|
|
your not importing the right version of MS-XML. Get an update to V6.
#import "msxml6.dll"
Greetings from Germany
|
|
|
|