|
Regarding the warnings, what is the prototype for XPCException 's constructor?
For both the errors, omit the address-of operator (&) from the second parameter to memcpy() .
One other item that looks problematic:
if (sizeof(cFileName) < sizeof(_oldClass.sGetFileName()))
{
delete [] cFileName;
... Since it appears that cFileName is a pointer, sizeof() will always return 4, as opposed to the actual amount allocated to that pointer. In the second use of sizeof() , I question the use of a function call as a parameter.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
I have 20 items in my List View and I update them rapidly (change text of subitem)
interval = 100millisecond (report type only)
They are very flicker
Is there a way to fix it ?
VC6,XP
thank a lot ~!
|
|
|
|
|
Have you looked at CWnd::SetRedraw() ?
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
you can derive and write you own CView::OnUpdate() function... since CListView is derived from the CView Class.
this will allow you to redraw only part of the View. The default OnUpdate() is to redraw the entire client area.
This is exactly what you need to do to reduce flickering.
|
|
|
|
|
Two calls to CWnd::SetRedraw() takes far less code, however!
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
If you derive from CView you get more control over the drawing... you can set the icons and text descriptions to go with them. If you override the CWnd class then you cannot.
|
|
|
|
|
CListView is already derived from CView. More control over the drawing is not required, and I did not mention anything about "overriding the CWnd class", however you would do that.
I'm assuming the OP had something akin to the following for populating the listview:
for (int x = 0; ...)
{
listview.InsertItem(...);
} Simply changing it to the following will keep the control from flickering:
listview.SetRedraw(FALSE);
for (int x = 0; ...)
{
listview.InsertItem(...);
}
listview.SetRedraw(TRUE);
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
The flickering will still occur, since he is updating the client area every 100 milliseconds.
Thats why i said to override. If he uses the default setdraw, it will update and draw the whole client area, which will still flicker.
|
|
|
|
|
Hi guys
If I have a file in a web place http:\www.myweb.com\text\myfile.txt
Is there a simple way to do something similar to
fopen("http:\www.myweb.com\text\myfile.txt", "rt")
or it's impossible?
Best Regards
|
|
|
|
|
Although I've never tried, I believe sockets is what you'll need (e.g., recv() , send() , connect() ). If, however, you are using MFC, take a look at CFtpConnection::OpenFile() .
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
Thanks I'll take a look
Dr.Pi
|
|
|
|
|
I don't think you can do that directly ...You can try CHttpFile class in MFC which will help you ...
Cause is my effort;
Effect is God's effort
|
|
|
|
|
I did this sort of thing recently using class CInternetSession. Have a look at that. (And don't forget that any \s in a string have to be \\ )
|
|
|
|
|
I want to open a workbrook into excel using automation with excel9.olb.(VC++6, C++)i'm search a example.I'm importing all functions and i'm using it but not for workbrook.open().
Thanks you
Jérôme
|
|
|
|
|
_Application app;
Workbooks books;
_Workbook book;
COleVariant vtOptional((long) DISP_E_PARAMNOTFOUND, VT_ERROR),
vtTrue((short) TRUE),
vtFalse((short) FALSE);
if (app.CreateDispatch("Excel.Application") == TRUE)
{
books = app.GetWorkbooks();
book = books.Open("Book2.xls",
vtOptional, vtOptional, vtOptional, vtOptional, vtOptional, vtOptional,
vtOptional, vtOptional, vtOptional, vtOptional, vtOptional, vtOptional);
}
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
|
Anyone have any experience with changing an environment variable via the registry and then updating the system to recognize the change?
I have been able to successfully change the environment variable, but if I then open a command prompt it doesn't see the changes.
However if I then open up the System Properties, goto the environment variable section and open it up, click OK, then the desktop flickers, and the refresh occurs.
According to what I can find you're supposed to call
SendMessageTimeout( HWND_BROADCAST, WM_SETTINGCHANGE, 0, (LPARAM)"Environment", SMTO_NORMAL, 1000 );
However this does not seem to work for me.
Anyone else deal with this, and if so how?
Thanks !
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
|
|
|
|
|
What does SendMessageTimeout() return? Have you tried increasing the uTimeout value?
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
I'm such a boner!
It turns out that the string values can't be string values !
They have to be expandign string values, i.e. REG_EXPAND_SZ! Once i changed that in the installer, everything worked fine!
I feel like such a friggin idiot
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
|
|
|
|
|
I'm glad you figured it out, because I would not have guessed that given your original post.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
Well it turns out that was only part of problem.
The enrionment vars get expanded but they still don't seem to get refreshed.
I can run the installer, and open the System Properties and see hte new values correctly, but if I start a command prompt, and type the executable (whose path was added to the Users PATH env var) name, it just craps out and says it can't run the program. So apparently I still am doing something wrong
¡El diablo está en mis pantalones! ¡Mire, mire!
Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)!
SELECT * FROM User WHERE Clue > 0
0 rows returned
|
|
|
|
|
Jim Crafton wrote:
...but if I start a command prompt, and type the executable (whose path was added to the Users PATH env var) name...
So at the command prompt, the PATH environment variable is correct, but the executable cannot be started. Is that right? If so, it appears that deeper issues are at play here.
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|
|
I am trying to get some value in a particular cell on CDataGrid specifiying
the field name. When there is nothing in a cell, always return me error saying
type is not much. I am not sure what is wrong with my code. please
help me looking at the following code.
CColumns Cols = m_DataGrid.GetColumns();
VARIANT varCol;
varCol.vt = VT_BSTR;
CString str_MyColumn = "MyColumn";
varCol.bstrVal = str_MyColumn.AllocSysString();
CColumn Col = Cols.GetItem( varCol );
VARIANT varValue = Col.GetValue();
CString str_WhatisValue = varValue.bstrVal;
Thanks
shin
|
|
|
|
|
hello!
I´m working with MFC. I´m making same threads where I execute a Query in a database. It use same CString, int and command variables.
It is an Example:
void STLogLatido::DoWork(void *pThreadContext)
{
_set_se_translator(SeTranslator);
try
{
CString id = GetParamID(2,msg);
//ejecutar comando
_bstr_t sql;
sql = "execute dbo.sp_latido @id_empleado=" + id;
pConn->Execute( sql ,NULL ,0);
}
catch (...)
{
}
delete this;
}
That work greate, but when the thread finish the memory process have been increased 4k.
Does anybody can help me?
|
|
|
|
|
VietDelphi wrote:
...when the thread finish the memory process have been increased 4k.
What did you expect to happen?
Five birds are sitting on a fence.
Three of them decide to fly off.
How many are left?
|
|
|
|