|
did u try __targv, i am not sure. just give a try.
If u can Dream... U can do it
|
|
|
|
|
Generally speaking, installation or uninstall for LSP need a reboot. Is that possible not reboot after installation or uninstall in server edition windows, like 2003, 2008? If so, how could i do it, Any link or tip will be appreciated.
|
|
|
|
|
I'm missing something here. I can write a single value to a ads key, but I can't write a multistring value. I've been googling for hours, but can't really find anything on the subject
LPWSTR pszMimeMap[] = {
L".application, application/x-ms-application",
L".deploy, application/octet-stream",
L".deploy,application/octet-stream",
L".flv, video/x-flv",
L".manifest, application/-x-ms-manifest",
L".msp, application/octet-stream",
L".msu, application/octet-stream"};
dwNumber = sizeof(pszMimeMap)/sizeof(LPWSTR);
hr = ADsBuildVarArrayStr(pszMimeMap, dwNumber, &var);
hr = pADs->PutEx(ADS_PROPERTY_UPDATE, CComBSTR("MimeMap"), var);
VariantClear(&var);
I get the -214 something error in Hresult instead of the S_OK.
|
|
|
|
|
|
Good Call, I added the line, must of missed it.
Well after hours of testing, I can write the ScriptMaps, but not the MimeMap, I get some -214 error.
hr = pADs->PutEx(ADS_PROPERTY_UPDATE, CComBSTR("MimeMap"), var);
I can write this ScriptMaps key as a multi-string, and it works fine.
};
LPWSTR pszScriptMaps[] =
{
L".asp,C:\\WINDOWS\\system32\\inetsrv\\asp.dll,5,GET,HEAD,POST,TRACE",
L".cer,C:\\WINDOWS\\system32\\inetsrv\\asp.dll,5,GET,HEAD,POST,TRACE",
};
dwNumber = sizeof(pszScriptMaps)/sizeof(LPWSTR);
VariantInit(&var);
hr = ADsBuildVarArrayStr(pszScriptMaps, dwNumber, &var);
if (SUCCEEDED(hr)) {
hr = pADs->PutEx(ADS_PROPERTY_UPDATE, CComBSTR("ScriptMaps"), var);
}
VariantClear(&var);
modified 25-Sep-11 23:30pm.
|
|
|
|
|
Hello all,
I'm looking on the way that i could create my own namepsace and use it under C++.
i wrote a .h file
#ifndef FOO_H
#define FOO_H
namespace FOO
{
int add (int a , int b);
}
#endif//FOO_H
and a cxx file
#include "Foo.h"
namespace FOO
{
int add (int a , int b)
{
return (a+b);
}
}
And in the main prog (test.cxx) i did as shown below
#include <iostream>
#include "Foo.h"
using namespace FOO;
int main(int argc, char **argv)
{
std::cout << add(5, 6) << std::endl ;
return 0;
}
when i compile the prog it mentions no problems but when i try to execute it it said
undefined reference to `FOO::add(int, int)'
i look on the net but still having that issue.
how could i make it correct ?
thank you.
"The Ultimate Limit Is Only Your Imagination."
|
|
|
|
|
Ok i think that i resolved it by changing the .h file like this
#ifndef FOO_H
#define FOO_H
namespace Foo
{
int add (int a , int b)
{
return (a+b);
}
}
#endif//FOO_H
So that mean's that :
1: when using namespace we can only use header files.
or
2: i ve an error somewhere in my previous files.
could someone help me with that ? i get
"The Ultimate Limit Is Only Your Imagination."
|
|
|
|
|
What you did in your first post is correct.
The problem you run into is a LINKER problem, not compiler (if you are unsure about the difference, study a while how compile and linking process works)
Your "program" is actually made by two sources (main.cxx and foo.cxx): you have to compile them both, and link them together to produce a final executable. both the files must be inside your "project" configuration.
By placing the function definition in the header you solved the problem because now everything you need in known to main.cxx (that's probably the only file you compiled) But if you compile bot files now you will get a "symbol defined more than once" linked error.
So either:
- use separate files, but compile them all
- use only a single "cxx" and define everything the the header. But -in this second case- declare the functions you will define at header level as "inline" (inline int add(int a, int b) { ... } ) to avoid multiple definitions in case of multiple compilations.
2 bugs found.
> recompile ...
65534 bugs found.
|
|
|
|
|
You are all reasons,
I compiled the first post files with VS and in the project settings i included the Foo.cxx file and all worked fine.
I used Geany under ubuntu and in the console i wrote gcc test.cxx Foo.cxx -o Test.o
and then some warnings were releaved.
i think, as you said, i need to go backward and read more about linking files in C++
thank you for your help.
"The Ultimate Limit Is Only Your Imagination."
|
|
|
|
|
Blood_HaZaRd wrote: gcc test.cxx Foo.cxx -o Test.o
This is not correct, the output should be your executable file Test (note executables do not have .o extension). You should then be able to run your program by typing Test at the command prompt. Take a look at the man pages for gcc for more information on compile and link options.
|
|
|
|
|
I use method, AttachFile of class CMimeMessage to add a file to mail
CMimeMessage msg;
...
msg.AttachFile(_T("d:\1.txt"), _T("1.txt"));
then use CSMTPConnection::SendMessage(msg) to send this mail, but I find that this mail does not send to my mail box.
The mail account is no problem, because a blank mail can be sent.
I do not know how to use CMimeMessage to send a file ?
|
|
|
|
|
|
This is a C console application in VS2008.
I've got a script language similar to C but the host application has very few debug facilites. With a little modification I can convert the script to plain C and run it in a wrapper in a console app. In the script all variables must start $. If I try to watch a variable $x the watch window says:
$x CXX0017: Error: symbol "x" not found
If I #define $x x it finds it OK but I have to redefine all my variables this way in order to watch them.
Does anyone know why VS doesn't like the leading $ and whether it's possible to configure it to accept it as a normal symbol?
Thanks
A
|
|
|
|
|
This looks like a mistake on Microsoft's part. Even though they allow a variable to start with a dollar sign, the debugger does not seem to recognise it.
|
|
|
|
|
If that is an error... interesting catch...
It wouldn't be the first time one part of the MS IDE doesn't match what another part does.
|
|
|
|
|
Having never used the dollar sign (a Microsoft extension) for identifier names I thought it worth a try.
|
|
|
|
|
Hi,
In my VC++ project I have to draw 2D graphs (X,Y). I would like to know which component I have to use for the same.
Also, The graphs should be rendered at run time continuously for the input values, same like display of ECG machine.
I'm using VS 2010 Express edition..
Hope you have understood my issue, kindly reply,
Regards,
Vijay.
|
|
|
|
|
Cedric had an article on that. I'm not sure if that would suit your needs, but take a look at it: High-speed Charting Control[^]
"Real men drive manual transmission" - Rajesh.
|
|
|
|
|
Using the Windows GDI is relatively simple once you get used to it. It should be relatively easy to draw 2D graphs with it even at high rates (for high rates, read up on bitblt).
|
|
|
|
|
Hi,
Thanks all, after exploring I could see that I can directly use "Chart" control provided by VS.
~Vijay.
|
|
|
|
|
|
Hi,
Rajesh already pointed out to my chart control article, but just to let you know that I think it will fit perfectly with your case: it was originaly developed for medical applications (one of the use was for ECG).
|
|
|
|
|
I have a console application that is using a DLL that uses a SetTimer() call to create a timer and fire a function within itself. The call is below...
SetTimer((HWND)NULL, 0, timer_num, (TIMERPROC)UnSyncMsgTimer)) == 0)
It is expecting to receive timer messages but this never happens, I assume because mine is a console application and not a standard Windows GUI application (like where the DLL was originally used). This stops a key part of the DLLs functionality from working.
My application needs to stay a console application and I cannot change the DLL.
Does anybody know of a work around to make this work?
Thanks, Joseph
|
|
|
|
|
The following console program works. It sets a timer using SetTimer
then loops in a message loop. The message loop receives and processes WM_TIMER messages
and the timer callback also is called for each time interval.
#define STRICT 1
#include <windows.h>
#include <iostream.h>
VOID CALLBACK TimerProc(HWND hWnd, UINT nMsg, UINT nIDEvent, DWORD dwTime)
{
cout << "Time: " << dwTime << '\n';
cout.flush();
}
int main(int argc, char *argv[], char *envp[])
{
int Counter=0;
MSG Msg;
UINT TimerId = SetTimer(NULL, 0, 500, &TimerProc);
cout << "TimerId: " << TimerId << '\n';
if (!TimerId)
return 16;
while (GetMessage(&Msg, NULL, 0, 0))
{
++Counter;
if (Msg.message == WM_TIMER)
cout << "Counter: " << Counter << "; timer message\n";
else
cout << "Counter: " << Counter << "; message: " << Msg.message << '\n';
DispatchMessage(&Msg);
}
KillTimer(NULL, TimerId);
return 0;
}
|
|
|
|
|
I think he means the SetTimer() call is within the DLL and he can't change that... doesn't he...
...so he just needs to be able to catch the message and make sure the timer ID matches whatever he set...
|
|
|
|
|