|
SO why does Read have a throw Exception statement next to it in MSDN? I was taking that to mean that its a function that will throw an exception as opposed to Open which doesnt....so I am trying to see what all can make it throw an exception...
(Appreciate the F11 idea. Oh - its step into..makes sense> So far I havent ever stepped into any MFC functions, just my own functions....)
Thanks,
ns
|
|
|
|
|
|
in which way ur considering using it?
Item monikers , File monikers , Anti-monikers
Pointer monikers or as a Generic composite monikers ?
Papa
while (TRUE)
Papa.WillLove ( Bebe ) ;
|
|
|
|
|
Does anyone know how many threads can be active under Windows 2000. I'm writing an ISAPI that could create a lot of threads ( 50-100-150 ). The thread's routines are very minimal and no complex calculations are being performed. Is there a cap on the number that can be created and/or will a 100 threads comprimise the stability of the server.
|
|
|
|
|
It all depends on the state of these threads. If they're mostly suspended/sleeping/waiting there will be no performance hit. If you plan to have 100 *executing* threads, you better use thread pool.
Right now there are > 300 threads on my XP box. I'm only browsing the internet and downloading mp3s.
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
How many processors and memory have you got? While there is theoretically no limit there is a practical limit depending on the hardware.
But maybe you should consider using jobs with a thread pool?
...make it about Visual C++, and don't ever mention Visual Basic. Nick Hodapp (MSFT) in Semicolon[^]
|
|
|
|
|
It seems like a suboptimal design, but besides that you can have >1000 threads/process.
Every thread have a default stack of 1MB reserved address space. If this was the only limiting factor, you could have 2048 threads in a "normal" 2GB user-address-space system, or 3072 threads in a 3GB user-address-space system (please search MSDN for explanations of the 3GB system).
Then every thread (IIRC) uses two pages (i.e. 8KB) just to be started, committing 8MB of memory and...
Why don't you just write a test-app and see how many threads you can start for yourself?
|
|
|
|
|
The server it will be running on will be a minimum of a P3 700 with 128MB of RAM. For the most part the threads will open a database and perform a simple function, then go in to a while loop that checks if a bool is false and if not Sleeps for 1000 milliseconds. I will look in to the thread pool idea. If it's less of a strain it will be the better implementation. Thanks for the tip.
|
|
|
|
|
Out of curiosity I ran a test which created 5k threads which incremented a global counter and then slept for 1000ms. In my main loop I reset the saved the global counter, set it to 0 and then slept for 1000ms.
I have a dual 1.2Ghz with 512mb of ram and I got an average of 2k counts per second.
CThread is my own custom thread class which calls Run in a while loop.
class CMyThread : public CThread
{
public:
CMyThread() {}
int Run()
{
g_Count++;
Sleep(1000);
return 1;
}
};
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
#define numThreads 5000
CMyThread* pThread[numThreads];;
for (int i = 0; i < numThreads; i++)
{
pThread[i] = new CMyThread;
bool bStart = pThread[i]->StartThread();
}
#define numLoops 60
int count = 0;
int total = 0;
for (int j = 0; j < numLoops; j++)
{
g_Count = 0;
Sleep(1000);
total += g_Count;
}
float avg = total / numLoops;
return 0;
}
Todd Smith
|
|
|
|
|
hello!
i have a vc++ MDI programm. in this i need a dialog box. the dialog box is not the problem. my problem is the placing of it. is there a way, how i can place the dialog box in a corner (at the bottom left hand corner) forever and ever.
someone in this forum tells me, that i can use the function: "SetWindowPos"
can somebody give me a example how i can use this function?
Lucky
|
|
|
|
|
If you intend to use standard MessageBox, it is not possible. Instead of this create own dialog and use it as you want
|
|
|
|
|
what must i do, to create a own dialog box?
normally i use the vc++ components.
lucky
|
|
|
|
|
Create Dialog resource, align buttons as you want. In popup menu choose "Add Class". In appeared form choose CDialog as base class. That's all.
If you want use your dialog in Modal mode, use method DoModal, otherwise use
Create()+ShowWindow
|
|
|
|
|
Which parts of SetWindowPos you're having problems with?
Also, do you plan to have a dialog which cannot be moved by the user?
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
Yes, the user should not move the dialog, but now i want to say, where there dialog is (at a corner).
i don't understand the complete function
lucky
|
|
|
|
|
If you have problems with SetWindowPos, use MoveWindow instead.
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
i used MoveWindow in the OnInitDialog().
MoveWindow( 0, 20, 100, 100, TRUE ); (e.g.)
but nothing happens. i want to define the function in the header, there comes an error. what's wrong?
lucky
|
|
|
|
|
MoveWindow works perfectly for me.
Lucky2002 wrote:
i want to define the function in the header, there comes an error
Which function? MoveWindow? It's already defined in standard headers, otherwise your program wouldn't even compile.
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
i don´t know why, but now it works.
but a user can move the dialog. how can i change this?
lucky
|
|
|
|
|
In the dialog editor, remove 'Title' flag in dialog properties. If you want to keep caption bar in your window, then you'll have to override WM_NCHITTEST:
UINT CYourDlg::OnNcHitTest(CPoint point)
{
UINT ret = CDialog::OnNcHitTest(point);
if (HTCAPTION == ret)
{
ret = HTCLIENT;
}
return ret;
}
Tomasz Sowinski -- http://www.shooltz.com
*** Vodka. Connecting people. ***
|
|
|
|
|
I don´t need the title.....Thank you, functioned greatly !!!!!!!!!!
|
|
|
|
|
try:
WINDOWPLACEMENT wp;
GetWindowPlacement(&wp);
int x_size = GetSystemMetrics(SM_CXSCREEN);
int y_size = GetSystemMetrics(SM_CYMAXIMIZED);
wp.rcNormalPosition.bottom = y_size;
wp.rcNormalPosition.left = 0;
wp.rcNormalPosition.right = x_size;
wp.rcNormalPosition.top = 0;
wp.showCmd = SW_SHOW;
SetWindowPlacement(&wp);
p.s. Top left corner is (0,0), bottom right is (x_size, y_size)
Nitron
_________________________________________--
message sent on 100% recycled electrons.
|
|
|
|
|
Hi,
In a dialog based application, i have two combobox. The cursor is stay in the first combobox when i open the application (with different color in the main dialog window). And also the cursors will put on the two comboboxes when i resize the dialog window. Are these the focus problem?
How to delete these focus?
Thanks in advance
chen
|
|
|
|
|
i need to build an application and it needs to support some languages, how can i do it, how to change from one language to another?
|
|
|
|
|