|
hmmmm,
O.K. trying to get the hang of this, but always seem to get errors.
How do I call the SYSTEMTIME structure to work correctly?
|
|
|
|
|
Hello, I'm having a problem importing the msxml4 library into my program. Where does #import and using namespace MSXML2; statements belong? I have tried placing them before and after the #included files however I'm still receiving errors.
Thank you for your help!!
John
|
|
|
|
|
i always put them in my stdafx.h, at the bottom.
what kind of errors?
-c
There's one easy way to prove the effectiveness of 'letting the market decide' when it comes to environmental protection. It's spelt 'S-U-V'.
--Holgate, from Plastic
|
|
|
|
|
When I compile my app with the this code
#include "stdafx.h"
#include <atlstr.h>
#include <iostream.h>
#include <wininet.h>
#import "C:\WINDOWS\system32\msxml4.dll"
using namespace MSXML2;
void main(int argc, char* argv[])
{
DWORD dwConnFlags;
if (InternetGetConnectedState(&dwConnFlags, 0))
{
try
{
IXMLDOMDocumentPtr pXMLDoc = NULL;
}
}
}
I receive these errors in the output window.
Compiling...
stdafx.cpp
Compiling...
XMLApp.cpp
c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\useoldio.h(29) : warning C4995: '_OLD_IOSTREAMS_ARE_DEPRECATED': name was marked as #pragma deprecated
c:\Documents and Settings\John\My Documents\Visual Studio Projects\XMLApp\XMLApp.cpp(17) : error C2872: 'IXMLDOMDocumentPtr' : ambiguous symbol
could be 'c:\Program Files\Microsoft Visual Studio .NET\Vc7\include\comdefsp.h(1226) : _com_ptr_t<_IIID> IXMLDOMDocumentPtr'
with
[
_IIID=_com_IIID
]
or 'c:\Documents and Settings\John\My Documents\Visual Studio Projects\XMLApp\Debug\msxml4.tlh(300) : MSXML2::IXMLDOMDocumentPtr'
Thank you for your help!!
John
|
|
|
|
|
I'm trying to use a keyboard accelerator in my aplication (and MFC dialog based application). I want to handle the event that happens when the user presses a combination of Ctrl + Shight + N, so I have defined a new Line int the Accelerator editor with this values:
ID = ID_ACELERATOR_NEXT , Modifier = Ctrl + Shift, Key = N, Type= VIRTKEY.
Also I have defined in my dialog message map the following line:
ON_COMMAND(ID_ACCELERATOR_NEXT, OnAcceleratorNext)
but it doen't works. I can't handle the event. What I'm doing wrong ?
Thanks.
|
|
|
|
|
Hi!
I've developed an application whitch calls (by pressing a button, using DoModal) a dialog window with a webbrowser control into it (using the CWebbrowser2 class). The application works great but I've noticed that each time I execute (or refresh) my web browser dialog the application's memory usage increases every time (by about 300-400k)!!! I can start of with a 6 meg application and end up with one using 40 meg in memory... Then the application crashes!
My question is:
1 - Could it be something related to the browser's cache!?
2 - How can clear memory usage to avoid crashing?
3 - Could it be an OCX-related problem?
Thanx!!!
-------------
-= Nasty_p =-
|
|
|
|
|
Hi all,
I have a very trivial question.
I have a 16-bits register. How to retrieve n-LSBs and nHSBs from the register.
Give some examples
thanks
regards
/rsasalm
|
|
|
|
|
I am sure there are C++ library functions do get the lByte and hByte. Nonetheless, the simple solution is ASM.
_asm()
{
mov ax, twoBytes
mov high, ah
mov low, al
}
Kuphryn
|
|
|
|
|
I added the debug toolbar to my IDE but it didnt put the ! for execute without debug button in the bunch. In the customize debug toolbar dialog I dont see any way of adding the exclamation mark. I miss that button. Is it just not there anymore? Its in the menu item...
Appreciate your help,
ns
|
|
|
|
|
hello @all,
first a short introduction:
i have an mdi program and the menu contains:
File
|
v
Service
when i pressed the service, a dialog should open, where i can enter a correct password and press 'OK'. if the password is right the menu should look like:
File
|
v
Service
IamHere
i tried:
the first menu is the mainframe menu and then i make a second menu (IDR_MENU_PW). after i pressed the 'OK' this happens:
<br />
UpdateData(true);<br />
<br />
if(m_strPW=="Hello")<br />
{<br />
HMENU menu;<br />
menu = LoadMenu(AfxGetApp()->m_hInstance, MAKEINTRESOURCE (IDR_MENU_PW));<br />
::SetMenu(*(AfxGetApp()->m_pMainWnd), menu);<br />
CDialog::OnOK();<br />
<br />
}<br />
else<br />
{<br />
CString wrong;<br />
wrong.Format("Wrong PW");<br />
MessageBox(wrong, "Attention!", MB_ICONERROR | MB_OK);<br />
}
now the second menu 'opens' and the first one is 'closed'.
now i want, that when i pressed 'IamHere' a messagebox opens. i make a 'COMMAND' function with the wizzard in the old class: 'MyProgrammView'.
but when i run the program, and enter the right passwort, there the second menu is, but i can not use the function behind 'IamHere'. it is grey. but when i pressed on the 'Service' i get the same dialog as before to enter my password.
what´s wrong?
thank you
sunny
|
|
|
|
|
I am really not competent in mdi's, but maybe this link[^] may help you. You should use something like EnableMenuItem() with MF_ENABLED flag. Just look at this one in the MSDN.
Sunnygirl wrote:
MessageBox(wrong, "Attention!", MB_ICONERROR | MB_OK);
Just love that debug windows
~RaGE();
|
|
|
|
|
Sunnygirl wrote:
i make a 'COMMAND' function with the wizzard
Are you sure you did it correctly? I made a test MDI application with two menus as you said - except for the dialog but i think it's ok - and everything worked properly.
rechi
|
|
|
|
|
thanks for reply.
i make it so often...again and again.....
but please, can you send me your complete test program?
sunny
|
|
|
|
|
Sunnygirl wrote:
i make a 'COMMAND' function with the wizzard in the old class: 'MyProgrammView'
If you want to have IamHere called even when no child is open, you must catch the WM_COMMAND in CMainFrame, not in MyProgrammView.
rechi
|
|
|
|
|
Does anyone know of functions or a library (freeware or commercial) for scanning PCI devices on a PC ?
I need to write some code to access various I/O devices installed in PCs.
Thanks.
Elaine.
Would you like to meet my teddy bear ?
|
|
|
|
|
What are you doing? A driver? A software which needs to enumerate hardware?
The DDK have functions for this, in case of the first, although I'm not a specialist on it.
In the case of a high level program which needs to enumerate hardware, you could use WMI.
I see dumb people
|
|
|
|
|
|
Here is a function I wrote to locate a couple of (identical except internal serial number) cards for a
device driver I had to write. It had to be part of a device driver, but as you will probably want to
be doing kernel level stuff anyway, this shouldn't be a problem
Iain.
<br />
typedef struct {<br />
ULONG BaseAddress;<br />
UCHAR IRQ;<br />
} Iain_Hardware;<br />
<br />
#define CARD_VENDORID (0x494f)<br />
#define CARD_DEVICEID (0x0e60)<br />
<br />
USHORT iain_LocateHardware(struct Iain_Hardware *pHardware, USHORT nMaxCards)
{<br />
PCI_COMMON_CONFIG pciConfig;<br />
INTERFACE_TYPE BusType = PCIBus;<br />
<br />
ULONG uReturn, SlotNumber, BusNumber = 0;<br />
USHORT nFound = 0;<br />
<br />
if (pHardware == NULL)<br />
return FALSE;<br />
<br />
for (SlotNumber = 0; (SlotNumber < 32) && (nFound < nMaxCards); SlotNumber++)<br />
{<br />
uReturn = HalGetBusData (PCIConfiguration, 0, SlotNumber, &pciConfig, sizeof (pciConfig));<br />
if (uReturn == 0)<br />
break;<br />
if (uReturn < 4)<br />
continue;<br />
<br />
if (pciConfig.VendorID != CARD_VENDORID)
continue;<br />
if (pciConfig.DeviceID != CARD_DEVICEID)
continue;<br />
<br />
pHardware [nFound].BaseAddress = pciConfig.u.type0.BaseAddresses[2] & 0xFFF8;<br />
pHardware [nFound].IRQ = pciConfig.u.type0.InterruptLine;<br />
<br />
{<br />
int a, b, c;<br />
a = nFound;<br />
b = pHardware [nFound].BaseAddress;<br />
c = pHardware [nFound].IRQ;<br />
DbgPrint ("Found Card %i at %x, IRQ=%i\n", a, b, c);<br />
}<br />
<br />
nFound++;<br />
}<br />
<br />
return nFound;<br />
}<br />
|
|
|
|
|
Trollslayer wrote:
Does anyone know of functions or a library (freeware or commercial) for scanning PCI devices on a PC ?
You may need to look into the DDK, take a look at
Microsoft's PCI Technology[^] site.
Nick Parker
Not everything that can be counted counts, and not everything that counts can be counted. - Albert Einstein
|
|
|
|
|
Yes, Linux
"My opinions may have changed, but not the fact that I am right."
Found in the sig of Herbert Kaminski
|
|
|
|
|
Hello,
I have an application that spawns multiple CWinThreads in a loop.. I have absolute no problems on my development box but other machines with out visual studio are having problems..
I spawn somewhere between 5 and 60 threads every 30 seconds.. On non-development boxes some of these threads don't close, so after 10 to 12 hours I show my main process with 30+ threads and it should only have 6.. How can I trouble shoot this problem on these boxes? The thread is very simple it performs a few functions then I do a PostQuitMessage(0).. I even put a timer in the UI thread so that if it doesn't exit in 30 seconds it sends its self a PostQuitMessage(0)..
It's just strange, my development box works perfect.. but other workstations are seeing threads that don't exit..
Any ideas?
Rob
|
|
|
|
|
You're building UI thread, right? Are you sure they need UI threads, or can you just go with worker threads?
Anyway, my guess as to why they don't quit is because you're somehow tying up the threads' message pump. If no messages can be processed, then the WM_QUIT message will not be received and the thread will not end. I have no clue as to why it works fine on your box. It may help to show some code.
Also, 60 sounds like a high number of threads for one process. It seems like the CPU will be sitting there doing a lot of context switching while allocating time for all those threads. You may want to use a more efficient method, like a thread pool, to keep the max down, to say, 20 threads.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|
|
Alvaro Mendez wrote:
You're building UI thread, right? Are you sure they need UI threads, or can you just go with worker threads?
I am using sockets inside these threads.. I was told/heard/read that when ever you are using sockets in a seperate thread you have to use a UI thread because of the message pump.. Basically I have a server app that is going to sit on hundereds of machines.. once every 30 seconds I spawn UI threads to make contact with all the other servers. Once the connection is made (or not made) the servers exchange status and the UI thread exits.. It's really quite simple.. I do all the error checking on the network for failures etc.. if anything goes wrong I post a quit message.. the longest a thread should stay alive should be around 30 seconds.. thats why I put the timer in the thread..
I'll take a look into thread pools (never used them) but they sound nice
I could put a message pump into the thread.. Do you think this may help the thread process messages if something is tying it up? I can post code if you think that would help..
Thanks,
Rob
|
|
|
|
|
What is the reason for a UI thread? For data processing including socket data, I recommend worker threads. Every process has a main thread that serves as a UI thread. Use itto process messages.
Kuphryn
|
|
|
|
|
Rob, I think for a case like this, where you have all these threads running around, and working differently accross machines, your best bet is to use a logging mechanism to determine what's going on. In other words, sprinkle trace messages all over the code (for your threads) and write them to one or more log files to tell you what's going on. It's the only reliable way to debug this stuff. Of course, be sure to have the ability to easily disable them later on whenever you've worked out the kinks.
I'm not sure about needing UI threads for sockets. I'm not experienced with sockets.
Regards,
Alvaro
Well done is better than well said. -- Benjamin Franklin
(I actually prefer medium-well.)
|
|
|
|