|
|
And on Windows CE .NET? The STL implementation there lacks the handy streams...
--
Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. (Douglas Adams)
|
|
|
|
|
Johann Gerell wrote:
And on Windows CE .NET?
You would use .NET classes anyway. Otherwise, whats the point of using a .NET platform?
Who is 'General Failure'? And why is he reading my harddisk?!?
|
|
|
|
|
jhwurmbach wrote:
You would use .NET classes anyway
No. ".NET" is a product name here, the .NET framework need not have anything to do with it, but it can.
In our specific case, (a) the compact framework (.NET CF) is buggy and unusable and (b) we do drivers and low level stuff unapropriate for the CF.
jhwurmbach wrote:
Otherwise, whats the point of using a .NET platform?
Since it's the latest version of Windows CE, it offers greater security, better Internet connectivity, more stability and about a gazillion other stuff of interest to mobile developers.
--
Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. (Douglas Adams)
|
|
|
|
|
Wow! .NET CF comes without .NET.
Microsoft marketing is working really hard on creating a strong brand.
I did not know that.
And on top of it, you do not even get a C++ compiler (that would include iostreams), just a surrogate. It seems you are stuck with sprintf.
Who is 'General Failure'? And why is he reading my harddisk?!?
|
|
|
|
|
jhwurmbach wrote:
And on top of it, you do not even get a C++ compiler (that would include iostreams), just a surrogate
jhwurmbach wrote:
It seems you are stuck with sprintf
Believe me, I'm so aware of that fact...
--
Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. (Douglas Adams)
|
|
|
|
|
int main(int argc, char* argv[])
{
ostringstream s;
int a = 100;
s << a;
string numText = s.str();
cout << numText << endl;
return 0;
}
Oh, you also need to include the iostream and sstream headers.
Kevin
|
|
|
|
|
Use a ostringstream .
Ryan "Punctuality is only a virtue for those who aren't smart enough to think of good excuses for being late" John Nichol "Point Of Impact"
|
|
|
|
|
GetWindowText of an edit box (MFC) doesn't return the text if I write in a chinese win98.
I tried ::GetWindowTextW, still no text.
If I write in english, it works.
::GetWindowTextLength return zero for chinese text.
|
|
|
|
|
did you change your application to be in either UNICODE or MBCS ?
I suggest using UNICODE, by defining UNICODE and _UNICODE in the project setting (c++ tab)
Maximilien Lincourt
"Never underestimate the bandwidth of a station wagon filled with backup tapes." ("Computer Networks" by Andrew S Tannenbaum )
|
|
|
|
|
UNICODE is not applicable on win98, but I used unicows.dll to run unicode application in win98.
I changed my edit box to a rich edit box and the text went fine.
The problem is that I need an edit box, not a rich one.
|
|
|
|
|
that?can you send me some project to see how you did that,cause i cant run apps under win98 even with MSLU
|
|
|
|
|
1. First, change the project settings to unicode:
a. Replace _MBCS with _UNICODE in the "C/C++" tab on the project settings
b. In the "Link" tab, category "output" write wWinMainCRTStartup in the "entry" edit box.
2. Add UNICOW: UNICOW.lib must be before all libraries, so we don't use the "default libraries" and link them ourselves.
here I use the MFC DEBUG lib versions, you can delete the 'd' from the file name to use the RELEASE version.
a. On the "Link" tab, category "general", write the following in the "Object/library modules" edit box:
unicows.lib winspool.lib shell32.lib uuid.lib oleaut32.lib ctl3d32s.lib ole32.lib gdi32.lib comdlg32.lib advapi32.lib comctl32.lib version.lib mpr.lib rasapi
32.lib winmm.lib vfw32.lib kernel32.lib oleacc.lib oledlg.lib user32.lib Uafxcwd.lib LIBCMTD.lib Mfcs42Ud.lib
b. Choose "Ignore all default libraries". (so what we did on a) will affect)
good luck
|
|
|
|
|
thanks a lot.
|
|
|
|
|
I have a problem with video capturing. When I call create function everything goes fine, it means capDriver is loaded succesfully, setting callback function goes fine.... . What i see on the cap window is just the first image which has been grabed. The problem is that the call back function is not called. How to change the code if I want to use frame callback function?
Please help
typedef LRESULT (CALLBACK *FRAMECALLBACK)(HWND , LPVIDEOHDR);
LRESULT PASCAL _grabber_CallbackProc(HWND hWnd, LPVIDEOHDR lpVHdr);
BOOL CCaptureVideo::Create(DWORD dwStyle, const RECT& rect, HWND pParentWnd)
{
hCaptureWnd=capCreateCaptureWindow("AviCap_Basic",
dwStyle, rect.left, rect.top, rect.right-rect.left, rect.bottom-rect.top,
pParentWnd, AVICAP_WINDOW_ID);
if(!hCaptureWnd)
{
TRACE("CAviCap Window creation failed\n");
//iLastError=CAP_WINCREATION_FAILED;
return FALSE;
}
if( capDriverConnect(hCaptureWnd, DEFAULT_CAPTURE_DRIVER) )
{
AfxMessageBox("cap Driver connect ok");
}
if (capSetCallbackOnFrame(hCaptureWnd, _grabber_CallbackProc) )
{
AfxMessageBox("Callback ok");
}
if( capPreview(hCaptureWnd, FALSE))
{
AfxMessageBox("Preview ok");
}
return TRUE;
}
LRESULT PASCAL _grabber_CallbackProc(HWND hWnd, LPVIDEOHDR lpVHdr)
{
AfxMessageBox("grab");
return 0;
}
|
|
|
|
|
Just installed VS.NET . All is fine and I think it is a great package. only problem is this.
When I try to make a database connection using the IDE, it always gives me an error along the lines
"[MS odbc driver]SQLSetConAttr failed"
when I try to access the table data
I am writing the error message from memory so it might not be accurate.
What I ask of you is either a solution or if you would be so kind an alternate method
I want to connect to a MS Access database. Has one table and no security like password and stuff.
Thank you.
|
|
|
|
|
Hi,
I've got a CEdit control, and a CString --> the CString will contain CEdit's text after de DDX_TEXT call, but after this I need the CEdit to be empty. I've tried by emptying the string, and then calling UpdateData(), but that just fills the string with the content of the CEdit, instead of the other way around.
How can I do this?
|
|
|
|
|
Try calling UpdateData(FALSE). The parameter is used to control the direction of data transfer.
TRUE -> data from window to CString
FALSE -> data from CString to window.
Chris Meech
"what makes CP different is the people and sense of community, things people will only discover if they join up and join in." Christian Graus Nov 14, 2002.
Oh and for those that ask programming questions in the lounge. Seek the truth here[^].
|
|
|
|
|
Thank you, it really helped
|
|
|
|
|
Since UpdateData() is an all-or-nothing operation, it shouldn't be used on individual updates.
m_edit.SetWindowText("");
|
|
|
|
|
Hi again student
MSDN
BOOL UpdateData( BOOL bSaveAndValidate = TRUE );
Return Value
Nonzero if the operation is successful; otherwise 0. If bSaveAndValidate is TRUE, then a return value of nonzero means that the data is successfully validated.
In other words: TRUE -> from screen, FALSE -> to screen
Other way:
set up text directly in the Edit similar:
m_myEdit.SetWindowText(youStringHere);
Hope this help.
Vitali
|
|
|
|
|
Dear All,
I am developing an application using MFC VC++ Version 6.0 for Windows 2000 which shows the list of drives present in system. I am showing this list of drives with checkbox corresponding to it in a listbox.
I am using CCheckListBox class for this. When ever a user checks or unchecks a drive, an event should be generated showing which drive is selected. (eg. a messagebox should appear: C:\ is selected or C:\ is unselected )
Can any body tell me which event to capture. I tried using LBN_SELCHANGE but it didnot worked properly.
Rohit
|
|
|
|
|
Use the CLBN_CHKCHANGE notification.
|
|
|
|
|
Hi again,
I captured LBN_SELCHANGE event and put following code in my application
///////////////////////////////////////////////////////
void CDataSpaceDlg::OnSelchangeLstdrv()
{
if(m_listdrive.GetCheck(0))
AfxMessageBox("hi I am checked");
if(m_listdrive.GetCheck(0)==0)
AfxMessageBox("hi I am not checked");
}
//////
where m_listdrive is a variable of type CCheckListBox.
m_listdrive.GetCheck(0) gets the check type of the 0 index (c:\ corresponding to it)
It works fine when we click on this checklistbox but i have another checklistbox in that dialog .When i click on that checklistbox, then it throws a Debug Assertion failure Winctrl1.cpp line: 105
//////////////////////
Can anybody suggest a way out
rohit
|
|
|
|
|
Have you looked at line 105 of Winctrl1.cpp? Notice the hard-coded assertion? It's telling you that your derived class has to implement DrawItem() , as well as the other two.
|
|
|
|