|
Hi Kevin,
Thank you very much for the reply. I think I will get VC++ 2003.
Victor.
|
|
|
|
|
You might want to investigate the differences between the Standard and Professional editions though. You can get the Standard Edition by itself. But for the Professional Edition, you have to purchase the entire Visual Studio 2003 (or use the free command line compiler with no IDE! ). I don't know whether this is an issue for you or not. I'm not entirely sure what you lose if you just get VC++ 2003 Standard but I'm sure there must be a feature matrix somewhere.
Kevin
|
|
|
|
|
I believe the major difference is that the professional version is able to perform more code optimizations than standard. I personally have had no problem with the standard version.
|
|
|
|
|
Dear All, does anyone have UDP socket sample code to able to send and receive UDP? or anyone can explain how to:-
a) Write and send a programme to send a single datagram.
b) A program to receive the datagram sent by the program (a above)
c) A program to wait for the reply from b above (question b)
d) A way of timing how long it takes for a datagram to get from the first program to the second and back again, i.e measuring the RTTs of a datagram.
Thank you for looking into this.
Regards.
Kim
|
|
|
|
|
Hi i want to write a simple thread , that will work in the background and i'll be able to do other things in my program until the thread is in progress,i do the following but get an error.
UINT CtestDlg::MyThreadProc(LPVOID pParam)//create thread
{
for(int i=0;i<10000;i++)
for(int j=0;j<10000;j++) {};
MessageBox("Finished");
return 0;
}
then call it : AfxBeginThread(MyThreadProc,0);
but i get an error :
c:\...\ : error C2665: 'AfxBeginThread' : none of the 2 overloads can convert parameter 1 from type 'UINT (LPVOID)'
Can anyone help ?
Regards
Giorgi Moniava
|
|
|
|
|
|
use:
AfxBeginThread(&MyThreadProc, (LPVOID)this, THREAD_PRIORITY_NORMAL);
inside MyThreadProc you can add the code:
CtestDlg *pTestDlg = (CtestDlg *)pParam;
... this will allow you to access any CtestDlg members.
|
|
|
|
|
Thanks Greg for you attention , but when i type :
AfxBeginThread(&MyThreadProc,(LPVOID)this,0);
i get an error :
c:\..\: error C2276: '&' : illegal operation on bound member function expression
Regards
m0n0
|
|
|
|
|
Your MyThreadProc need to be static.
And you only need to call like
AfxBeginThread(MyThreadProc,(LPVOID)this,0);
E.g
CWinThread* pThread = AfxBeginThread (ThreadFunc, lpVoid, THREAD_PRIORITY_NORMAL, 0, CREATE_SUSPENDED);
ASSERT (NULL != pThread);
pThread->m_bAutoDelete = FALSE;
pThread->ResumeThread ();
By the way, make sure you protect the variables that you are accessing in the 'this ' in the thread by using those synchronization classes like CMutex, Interlock functions and etc.
Sonork 100.41263:Anthony_Yio
|
|
|
|
|
Hello, just wondering if anyone has tried to backup NT permissions of a file or directory and store it in a flat file so the permissions could be restored at a later date if needed?
Is this even possible? If anyone has any experience in this can you give me a pointer where to start?
Thanks
Whoever said nothing's impossible never tried slamming a revolving door!
|
|
|
|
|
To store:
CFileStatus stat;
CFile::GetStatus("file", stat);
CFile file("attr.out", CFile::modeWrite);
file.Write(&(stat.rStatus), sizeof(stat.rStatus));
file.Close(); To load:
CFileStatus stat;
CFile file("attr.out", CFile::modeRead);
file.Read(&(stat.rStatus), sizeof(stat.rStatus));
file.Close();
CFile::SetStatus("file", stat);
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Hi,
I utilize the IMPLEMENT_SERIAL(CFondationDoc, CDocument, VERSIONABLE_SCHEMA | 1) macro in my document class. I want to distinct between two versions of my files.
I have put "int nVersion = ar.GetObjectSchema();" in the loading portion of the Serialize method.
But nVersion returns always -1.
Do I have to store the schema number in the file ?
I have tried with "ar.SetObjectSchema(1);", but it is not stored in the file.
Thanks,
Claude
|
|
|
|
|
I usually just write out a DWORD at beginning of serialization stream as my 'version' number and read that back in when deserializing. It beats trying to figure out the screwy Schema system they have. You can read in older files with newer code, presumably the new system will always write out the newer file, though that is not stricly necessary either. Then just increment the DWORD value when you have a newer version of your data.
|
|
|
|
|
|
Hi All
This is a very basic question but in Visual C++.Net, how do I add a C++ Inline File like XLCALL32.LIB? I am trying to build an XLL from a DLL following the instructions in MSDN article Q178474. That article at point 6 says "Click Settings on the Project Menu. Click the Link tab and add XLCALL32.LIB to the Object/Library." The only way I can add it is to go to File and then "Add existing item" and then change the file type to *.* and select the inline file XLCALL32.LIB from the directory. This does not seem to work properly to link the file to the rest of the project. It may ne that something else is the cause and I am adding the inline file correctly.
Any thoughts would be much appreciated.
Regards
Jeremy
|
|
|
|
|
XLCALL32.lib is an object library, not an 'inline file'. An object library is a collection of object modules, compiled previously.
From the Project menu, select Properties. In the dialog, select Linker and then Input. Add XLCALL32.lib to the Additional dependencies field.
Software Zen: delete this;
|
|
|
|
|
I am building a dll that is supposed to be using Unicode but I am having some problems. I won't go into a lot of detail but here's a quick summary -
I am using grid software that requires a CString to be passed into it's SetText() function. I have a structure that has the follwing member:
struct MYSTRUCT{
TCHAR szDescription[512];
};
So, when I reach the point where I need to set my grid text, I use the following:
CString szTxt(struct.szDescription);
It fails indside the CString code in AllocBuffer() where it is actually doing the "new" call.
I don't expect anyone to know how to solve this but one thing that jumps out at me is that when I type sizeof(TCHAR) into my watch window, it returns a value of 1. I was expecting 2. I have "UNICODE" and "_UNICODE" defined in the project settings.
Any idea?
|
|
|
|
|
Dave_ wrote:
I don't expect anyone to know how to solve this but one thing that jumps out at me is that when I type sizeof(TCHAR) into my watch window, it returns a value of 1. I was expecting 2. I have "UNICODE" and "_UNICODE" defined in the project settings.
Try placing #define UNICODE and #define _UNICODE in the stdafx.h file before any other #include statements. It shouldn't matter if those directives are in the code or are in the project settings, but you never know...
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
|
Also, you might verify it is not the 'watch' window getting messed up, and do something like this in your (debug) build:
size_t szTemp = sizeof(TCHAR);
and quickwatch the value of szTemp. Is it 1 or 2?
Just to double-check against a wierd anomaly in the watch window's expression parsing or something.
|
|
|
|
|
Hi,
I am trying to populate the MsFlexGrid control by using the SetDataSource property of the MSFlexGrid COntrol.. but I am getting the "Type Mismatch" error.
can anyone tell me how to use MSFlexGrid and CRecordset together in an app.
Regards,
Sylvester12
|
|
|
|
|
Sylvester12 wrote:
...but I am getting the "Type Mismatch" error.
can anyone tell me how to use MSFlexGrid and CRecordset together in an app.
Not without seeing a relevant code snippet.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
Hi,
Here is the piece of code thats cauing the error:
m_DataSource is an object of CRecordset which contains records from a database table.
m_Grid.SetDataSource(NULL);
m_Grid.SetDataSource( (LPDISPATCH) m_DataSource);
m_Grid.Refresh();
UpdateData(FALSE);
|
|
|
|
|
Ok, so which of these four statements causes the error? I've never used the MSFlexGrid object but that first statement seems unnecessary. The UpdateData() call is suspect.
"Opinions are neither right nor wrong. I cannot change your opinion. I can, however, change what influences your opinion." - David Crow
|
|
|
|
|
my question not about VC++, it's about turbo C++ (under dos)
i need to know where i can find the number of general 8086 software interrupt interfaces .
i want to use it with this function:
int86(0x??,??,??)
last but not lest i am sorry because i make this question in the forum of VC++ because you don't have TC++ forum.
|
|
|
|