|
Now I write a server program and use strcpy,strcat to generate a log info. I wonder whether these functions are thread-safe. Does anybody test them under multi-thread environment?
yangyi
|
|
|
|
|
Even if they are, the logging function has just one file open for writing...
My advice is to use a mutex for the entire logging function.
Then you won't have to bother at all. And the resulting file will come out just fine.
Alcohol. The cause of, and the solution to, all of life's problems - Homer Simpson
|
|
|
|
|
Iam beginnar in VC++.
I want to take two edit boxes on a Dialog.
one for USERNAME and Another For Password.
How to take user name From user and how do i store and validate ?
Same For password also ?
plz help me.
|
|
|
|
|
For password you must set Password to true on preperty window of editbox and you can declare two variables for your controls and use of m_Edit.GetWindowText(...) for read of editbox
|
|
|
|
|
Thanks for ur Response Any links regarding this.
|
|
|
|
|
Krishnatv wrote: Any links regarding this.
GetWindowText()
"Approved Workmen Are Not Ashamed" - 2 Timothy 2:15
"Judge not by the eye but by the heart." - Native American Proverb
|
|
|
|
|
Hi all:
I have encountered a problem. My program have two levels of executables, the start.exe at the root which will start some others executables reside in "Setup" folder, I've included those necessary CRT libs into "Setup" folder. And things went well until I run the program under other machine, when I launch start.exe I was prompted "the application failed to initialize properly (0xc0150002)..." but when copy "Microsoft.VC80.CRT.manifest" and "msvcr80.dll" to root things start to works again, so far I have no clue as to why this is happening.
|
|
|
|
|
LiYS wrote: reside in "Setup" folder
Executables looks for dependent dlls in SYSTEM folder, current directory.
In your case dependent dlls are not present in either of them. You have to consider that while installation.
|
|
|
|
|
i want to include /GS compile option in my project can anybody help me where should i include it
|
|
|
|
|
You need to use option /O1 or /O2 .
Go to Project settings-->C/C++-->Optimizations-->Optimizations-->Minimize size or MaxiMize Speed
See decription of /O2 amd /O1 in MSDN .
|
|
|
|
|
while running my project i am getting error
"unhandled execption in text.exe :0xC0000005": access violation"
After going through net i came to know that if i use /GS in my project the problem will be solved...
from this link
http://weblogs.asp.net/gad/archive/2004/03/23/94996.aspx[^]
Can you ple help me more further...pls
|
|
|
|
|
With_problem wrote: "unhandled execption in text.exe :0xC0000005": access violation"
It is not necessary that buffer overrun causes it. Possibly you are doing some other thing wrong.
If possible, code snippet would help to solve the problem.
|
|
|
|
|
yesterday you help me out to solve my dll problem ther only i am getting this error while inserting data through dll to sqlserver......if you want i can copy paste that code agin to help me..pls
|
|
|
|
|
With_problem wrote: yesterday you help me out to solve my dll problem
Ohh ! you have changed your nick name.
With_problem wrote: i am getting this error while inserting data through dll to sqlserver
If you see the callstack, it might point you in the code, where the problem is.
With_problem wrote: ......if you want i can copy paste that code agin to help me..pls
Its better to post code again. Its not me , who only is seeing this post. And everbody would not want to track your last post.
And it would be helpful if you tell where debugger taking you in the callstack.
|
|
|
|
|
this is my code......
typedef int (CALLBACK* Set_Quote_DB)(unsigned short**,short*,unsigned short**,unsigned short**,unsigned short**,short*);
void CArielProjectVer2Dlg::OnPriceChangeArielapictrl1(LPCTSTR SessionId, LPCTSTR RequestId, short MarketNo, LPCTSTR Market,LPCTSTR Bid, short BidDirection, LPCTSTR Ask, short AskDirection, LPCTSTR High, LPCTSTR Low, short MarketState, LPCTSTR Timestamp)
{
HINSTANCE hInstance=LoadLibrary("WartzODLCOM.dll");
Set_Quote_DB SetQuote;
SetQuote = (Set_Quote_DB)GetProcAddress(hInstance,"setQuoteToDb");
SessID=SessionId;
CurrentRequestId=RequestId;
CString marketstate,marketno,bid_d,ask_d;
marketno.Format("%d",MarketNo);
bid_d.Format("%c",BidDirection);
ask_d.Format("%c",AskDirection);
marketstate.Format("%d",MarketState);
m_MainEdit=m_MainEdit + "<Price Change> + SessionId + "\t" + RequestId +"\t"+ a ;
m_MainEdit=m_MainEdit + "\t"+ Market + Bid + b + Ask +c +"\t "+ High + "\t";
m_MainEdit=m_MainEdit + Low + "\t" + d + " "+ "\t" + Timestamp + "\r\n";
UpdateData(FALSE);
iLineCount=m_EditCtrl.GetLineCount();
m_EditCtrl.LineScroll(iLineCount);
USES_CONVERSION;
BSTR bsTimeStamp = A2BSTR(Timestamp);
BSTR bsMarket = A2BSTR(Market);
BSTR bsBid = A2BSTR(Bid);
BSTR bsAsk = A2BSTR(Ask);
// debugging error when calling this function...of dll....access violation
HRESULT hResult = SetQuote(&bsTimeStamp,&MarketNo,&bsMarket,&bsAsk,&bsBid,&MarketState);
if(FAILED(hResult))
{
AfxMessageBox(_T("Error inserting record"));
return;
}
else
{
MessageBox(_T("data entered" ));
}
SysFreeString(bsTimeStamp);
SysFreeString(bsMarket);
SysFreeString(bsBid);
SysFreeString(bsAsk);
FreeLibrary( hInstance );
}
-- modified at 3:02 Friday 15th December, 2006
|
|
|
|
|
With_problem wrote: HINSTANCE hInstance=LoadLibrary("WartzODLCOM.dll"); Set_Quote_DB SetQuote; SetQuote = (Set_Quote_DB)GetProcAddress(hInstance,"setQuoteToDb");
Have you checked hInstance, SetQuote for NULL.
I'm sure its NULL in your case.
|
|
|
|
|
sorry to bother you but can you tell me how to check...i am very new to vc++
|
|
|
|
|
INSTANCE hInstance=LoadLibrary("WartzODLCOM.dll");
if (hInstance == NULL)
{
return;
}
Set_Quote_DB SetQuote;
SetQuote = (Set_Quote_DB)GetProcAddress(hInstance,"setQuoteToDb");
if (SetQuote == NULL)
{
return;
}
I advise you to learn basic c/c++, before adventuring further.
|
|
|
|
|
Thanks for your advice.....i really dont know vc++/c++ but i got this project to be done...and i have no option...but ya after finishing this project this is last stage inserting the data i will first learn this lang. from basic.
And now about the problem..now it is ok no error but now it has stoped displaing anything in edit box...and also not inserting the data...any clue
|
|
|
|
|
With_problem wrote: now it is ok no error but now it has stoped displaing anything in edit box...and also not inserting the data...any clue
It is because, either your dll is not loaded, or not getting address of function you required.
Check from where it is returning, check valid dll is present it the path you mentioned.
|
|
|
|
|
yes i have checked my for dll :
project->setting->link->C:\ActiveXdll\WartzODLCOM.lib
And in c: drive also it is present wartzODLCOM.dll and .lib is present
And i have "#define WartzODLCOM" in my cpp file include where i am calling this dll function...
Now whats wrong here....
(Or should i need to include header file of dll in my project and then call function.....)
-- modified at 4:48 Friday 15th December, 2006
|
|
|
|
|
With_problem wrote: project->setting->link->C:\ActiveXdll\WartzODLCOM.lib
I this case you can directly call dll function.
I would suggest reading this series of article[^] to understand usage of dlls.
|
|
|
|
|
I am trying to include strsafe.h file to also my project but there is error no such file r directory.......can you help me how to solve this
|
|
|
|
|
make sure that you have updated Windows Plateform SDK if not you can download and install it from
"http://www.microsoft.com/downloads/details.aspx?FamilyId=A55B6B43-E24F-4EA3-A93E-40C0EC4F68E5&displaylang=en" because the library which contains the "strsafe.h" functions won't be availaible to you without installing SDK. Once u have installed SDK go to Start->Programs->Microsoft Plateform SDK for Windows Server 2003 SPI->Visual Studio Registration->Registerd PSDK Directories with Visual Studio.
Once you have done with it you have to include the "strsafe.lib" in your program from Projects->Settings->Link.
Now include the "strsafe.h" in your program and and enjoy using strsafe functions.
VV IMPORTANT : Include "strsafe.h" at the end of all other include directives.
Thanks and Regards,
Love
Zeeshan Malik
Prepare yourseld for the life after death.God bless you.
|
|
|
|
|
i need tutorial to under stand the CFile
|
|
|
|