|
Hi,
Instead of creating a new MFC Active-X project, i reused an existing project. But, when both the controls are being used simultaneously, i have the issue of same class-id for both the controls. How do i change the class-id of the control?
The active-x is being rendered on a web-page. Two different controls are needed and because of the same class-id i'm not able to use them.
Please help.
Thanks and Regards
Vikram Attiganal
|
|
|
|
|
Go through all your source files and change the GUID. I haven't done AX controls in MFC in ages, so I don't know off-hand which files to look at, but at the miniumum it will be the IDL or ODL file, and the code used for registration/unregistration of the server.
--Mike--
Visual C++ MVP
LINKS~! Ericahist | 1ClickPicGrabber | CP SearchBar v2.0.2 | C++ Forum FAQ
Strange things are afoot at the U+004B U+20DD
|
|
|
|
|
hi..
how do we save user entered text in a file.. i am using common dialog box and allowing the user to specify the file name and the location.. I used CArchive.. The first character in the saved file is always a garbage value.. Why?
regards
mpallavi
|
|
|
|
|
If you use CArchive, maybe that's normal... In fact, I never used CArchive for saving data but maybe it adds its own data before your data.
Try to use CFile instead:
char* szText = "Your string To Save";<br />
CFile* pFile = fopen("YourFile.txt","w");<br />
fwrite(szText,strlen(szText),1,pFile);<br />
fclose(pFile);
|
|
|
|
|
Hi cedric
i am giving here my code:
..........................
CFile flCPhone;
CStdioFile fl;
char strFilter[] = { "Text Files (*.txt)|*.txt|" };
CFileDialog FileDlg(FALSE, ".txt", NULL, 0, strFilter);
if( FileDlg.DoModal() == IDOK )
{
if( flCPhone.Open(FileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite) == FALSE )
{ return;}
CArchive ar(&flCPhone, CArchive::store);
ar<
|
|
|
|
|
Ouch... Sorry, I have mixed CFile with FILE*
But I think your question has already been answered
|
|
|
|
|
Hi cedric
its ok..
I wasn't using the member functions of CFile..
There is no function for appending text to a file..in CFile (..I suppose)..
How do i go about it?
|
|
|
|
|
Then you can use FILE* and open it in appending mode ("-a"). Take a look at fopen in the doc:
FILE* pFile = fopen("YourFile.txt","a");<br />
fwrite(.....);
|
|
|
|
|
mpallavi wrote:
There is no function for appending text to a file..in CFile (..I suppose)..
Sure there is. Just go to the end of the file before writing to it. Remember to use CFile::modeNoTruncate when opening the file.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
hi david..
thanx
I could append text to a already existing file.. I want the newly entered text to appear on a new line.. I used CFile::seektoend().. how to take the pointer to new line? ..
regards
pal
|
|
|
|
|
Insert a CR and/or LF character first.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
try this :
FILE *file;
char *FileName = "C:\\TestFile.txt";
char *string_to_save = "this is a test";
file = fopen(FileName,"w");
if(!file)
{
AfxMessageBox("Unable to open the specified file");
return;
}
fputs(string_to_save,file);
fputs("\n",file);
fclose(file)
return;
regards,
Eli
|
|
|
|
|
hey friends ..
i did it.. it was simple
.................
CFile flCPhone;
flCPhone.Open(FileDlg.GetFileName(), CFile::modeCreate | CFile::modeWrite);
int len;
len=strlen(m_strInput);
flCPhone.Write(m_strInput,len);
.....................
thanx for showing me the write track.. i was simply running behind CArchive..
(A beginner in vc++.. getting into it..)
thanx
pal
|
|
|
|
|
if you allow the user to choose the file name and position with File dialog,
in your flCPhone.open() use FileDlg.GetPathName() instead FileDlg.GetFileName().
regards,
Eli
|
|
|
|
|
ya fine..
thanx Eli
..
pal
|
|
|
|
|
i want get HDD serial number, and encoding it to binary number, and write this binary number into file application (example: myapplication.exe) ?
i can't completed, help me !
Regards.
|
|
|
|
|
|
mpallavi wrote:
The first character in the saved file is always a garbage value
It is the number of bytes in the CString object that were written to the archive. You should be able to verify this. Take a look at CArchive 's << operator. If the length of the CString object is >= 255 and < 0xfffe, an extra 0xff is written to the archive followed by the length of the CString object.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
I am curious if thee is a form event that fires when a form gets focus after a called form is closed.
I am using a form, in VC++ .net, that calls another form to generate a text string and passes that string to a global variable. Now I want to "refresh" that calling window to load that string into a text box. "When called window closes, set text box->text = global string." or some such (I know, my techno-speak is malfunctioning. Pseudo-pseudo-code?
Thanks
Thom
--"Late to bed, Early to rise,-- -Work like hell and Advertise."- Wernher von Braun
|
|
|
|
|
I met a problem relating to use CArray in MFC.
CArray<CMyClass*,CMyClass*> m_pArr;
CMyClass is very simple
Class CMyClass
{
CString m_szName;
CString m_szId;
long m_i4Age;
}
allocate memory:
for (int i=0;i<1000;i++)
{
m_Arr.Add(new CMyClass);
}
destroy memory
for (int i = 0;i<m_Arr.GetSize();i++)
{
CMyClass*p = m_Arr[i];
if (p)
{
delete p;
p = NULL;
}
}
m_Arr.RemoveAll();
m_Arr.FreeExtra();
When I build this code in two mode: debug and release
1. In debug mode, It seems not be leaked
2. In release mode, leak!!! memory is allocates for application never
decrease although i used above code to free the memory. I don't know why there is the difference like that.
Anybody can explain me why? and give me a solution to configure in order to It can run without leak in both mode debug and release.
Thanks a lot
Tin Le,
|
|
|
|
|
I'm not familiar with CArray ( I use C++ containers ), but I don't see any problem with this. It would be easier to read your code if you checked 'Do not treat <'s as HTML tags' so it was all visiable though.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
lvantin wrote:
CArray m_pArr;
Correct Usage off CArray class is something like this, Ok let take example of your scenario only
Class CMyClass
{
CString m_szName;
CString m_szId;
long m_i4Age;
}
then you declare CArray something like this
CArray<CMyClass,CMyClass&> m_pArr;
[Vote One Here, Complete my Survey....]
Alok Gupta visit me at http://www.thisisalok.tk
"I Think Believe this Will Help"
|
|
|
|
|
It seems okay to me. Did you use a profiler to measure, or are you using Task Manager? If it is the latter, there is a good probability that the C++ Runtime Environment is not releasing the memory immediately to the OS. That is perfectly OK.
BTW, you don't really need to check if p is not NULL before deleting it, delete(p) itself handles the case where p is NULL. And setting p to NULL has no effect too.
Regards
Senthil
_____________________________
My Blog | My Articles | WinMacro
|
|
|
|
|
lvantin wrote:
2. In release mode, leak!!! memory is allocates for application never
decrease...
How are you confirming this?
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
I used Performance monitor, a tool is supported by Windows, to investigate this. Private Bytes of the application always increases when i used that code to allocate memory and never descreases when release it.
|
|
|
|