|
dos is a 16 bit OS, vc++ 6 uses the windows 32 bit interface...
the only way i was able to write code for dos machines a month ago was by finding a really old computer with turbo C 1.1 on it (from 1994, heh). :-/ unless theres some other way...
*.*
cin >> knowledge;
|
|
|
|
|
The last version of Visual C++ which could generate DOS or Win16 executables was version 1.52, IIRC.
I think you can still obtain VC 1.52 from Microsoft.
You could always write your application using Visual Studio's text editor, then cross-compile.
|
|
|
|
|
=[ Abin ]= wrote:
use Borland C++ instead
I think this will be your best option... I know VC5+ did not support 16 bit code. I am not sure about VC4. However you may be able to pick up it really chaep on half.com[^]
John
|
|
|
|
|
John M. Drescher wrote:
I am not sure about VC4
Nope. VC1.52 was the last one that supported DOS
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"
|
|
|
|
|
Thanks for the info. I was a borland user before VC5 so I had no idea of the previous versions.
John
|
|
|
|
|
John M. Drescher wrote:
I was a borland user before VC5 so I had no idea of the previous versions.
You didn't miss much . VC4 was the first version that supported Win95, so it was a bit of a kludge. Prior to that, it was particularly primitive
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"
|
|
|
|
|
It's because you're passing a parameter to a function and this parameter is never used in the function.
Two solutions:
- Suppress this parameter from your function definition/declaration (you don't use it in the function so you can safely delete it)
- Or use it in the function !
Hope this helps
|
|
|
|
|
'#pragma warning' directive can be used with 'disable' option to disable warnings.
Add #pragma warning (disable : 4100) in the beginning of your source file.
|
|
|
|
|
from AFX.H :
#ifdef _DEBUG
#define UNUSED(x)
#else
#define UNUSED(x) x
#endif
#define UNUSED_ALWAYS(x) x
|
|
|
|
|
Or...
Specify it as unrefrenced in the function:
UNREFERENCED_PARAMETER(YourUnreferencedParam);
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
I like your solution to this question best - I was interested because this bugs me too. Thanks.
Ali
|
|
|
|
|
no prob.
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
But the warning was from xmemory.h, a system file ?!?
Thus the warning was not your fault, but that of VC6!
BTW, the easiest way of saying that a variable is not used in the function is by commenting out its name:
BOOL SomeFunc(int , int )
{
..code using neither tit nor tat...
return TRUE;
}
Who is 'General Failure'? And why is he reading my harddisk?!?
|
|
|
|
|
You're probably using STL...
Try this.
- Nitron
"Those that say a task is impossible shouldn't interrupt the ones who are doing it." - Chinese Proverb
|
|
|
|
|
|
Hello all,
I'm writing a tool which must provide the function of sending data to some hosts in the internet via our company's http proxy. The proxy uses the NTLM authorization rule.
I don't want to use the winHTTP API because they control socket transfer.
I'd like to control it by myself.
Who can tell me which API (except WinHttpSetCredentials()) may help me to realize the NTLM authorization?
Thanks a lot
|
|
|
|
|
|
I need very simple function, which will return
length (in seconds) of given movie file, using DirectShow.
No playback is needed, nothing more.
Thanks !
rrrado
|
|
|
|
|
I don't know if there is any function for that, but this information is contained in the header of the file. You only need to read some bytes. For information of the header format of yor video file see www.wotsit.org
MS
|
|
|
|
|
Thank you for tip,
but I'd like to have more universal solution,
wchich would use DiectShow.
Which would allow me to get info about any movie, if i have installed codec for it, lide avi, divx, mpeg, etc.
But I'm lazy to study whole Direct Show stuff for this
rrrado
|
|
|
|
|
Instead you could use the AVI functions and use AVIStreamLengthTime
If I have seen further it is by standing on the shoulders of Giants. - Isaac Newton 1676
|
|
|
|
|
Thank you for tip,
but I'd like to have more universal solution,
wchich would use DiectShow.
Which would allow me to get info about any movie, if i have installed codec for it, lide avi, divx, mpeg, etc.
But I'm lazy to study whole Direct Show stuff for this
rrrado
|
|
|
|
|
In my application i have a frame with three views seperated by Splitterwindow..
My problem is that when i start the application,the frame should be in maximised state and we should not be abe to resizize both the frame and splitter window....
So any idea....
cheers,
Super
------------------------------------------
Too much of good is bad,mix some evil in it
|
|
|
|
|
To set the frame maximizde, override PreCreateWindow(), and add SW_SHOWMAXMIZED to the style component of the cs structure.
~RaGE();
|
|
|
|
|
super wrote:
[...]when i start the application,the frame should be in maximised state[...]
void CMyView::OnInitialUpdate()
{
Cview::OnInitialUpdate();
GetParentFrame()->ShowWindow( SW_SHOWMAXIMIZED );
} or in the Frame class:
void CMaxiFrame::ActivateFrame(int CmdShow)
{
if (m_bOnce)
{
m_bOnce = false;
nCmdShow = SW_SHOWMAXIMIZED;
}
CMDIChildWnd::ActivateFrame(nCmdShow);
} and initialize a bool m_bOnce to true in the constructor of CMaxiFrame .
super wrote:
[...]should not be able to resize the frame[...]
BOOL CMyFrame::PreCreateWindow(CREATESTRUCT& cs)
{
cs.style &= ~WS_THICKFRAME;
cs.style &= ~WM_MAXIMIZEBOX;
return CMDIChildWnd::PreCreateWindow(cs);
}
super wrote:
[...]we should not be able to resize the splitter window[...]
Here, the trick is that we do not let CSplitterWnd see anything that could initiate a splitter drag:
In CMySplitter::OnLButtonDown() call CWnd::OnLButtonDown() instead of CSplitterWnd .
In CMySplitter::OnMouseMove() call CWnd::OnMouseMove() instead of CSplitterWnd .
In CMySplitter::OnSetCursor() call CWnd::OnOnSetCursor() instead of CSplitterWnd .
My opinions may have changed, but not the fact that I am right.
|
|
|
|