|
Hi everyone
my os is vista 64bit pack1 and I installed DirectX SDK(10) on my system
but I cant compile this code an it returns :
hr=E_INVALIDARG
DXGI_SWAP_CHAIN_DESC swapchainDesc;
ZeroMemory(&swapchainDesc,sizeof(swapchainDesc));
swapchainDesc.BufferCount=1;
swapchainDesc.BufferDesc.Width=width;
swapchainDesc.BufferDesc.Height=height;
swapchainDesc.BufferDesc.Format=DXGI_FORMAT_R8G8B8A8_UNORM;
swapchainDesc.BufferDesc.RefreshRate.Numerator=60;
swapchainDesc.BufferDesc.RefreshRate.Denominator=1;
swapchainDesc.BufferUsage=DXGI_USAGE_RENDER_TARGET_OUTPUT;
swapchainDesc.OutputWindow=hWnd;
swapchainDesc.SampleDesc.Count=1;
swapchainDesc.SampleDesc.Quality=0;
swapchainDesc.Windowed=false;
HRESULT hr=D3D10CreateDeviceAndSwapChain(NULL,
D3D10_DRIVER_TYPE_REFERENCE,
NULL,
0,
D3D10_SDK_VERSION,
&swapchainDesc,
&pSwapChain,
&pD3DDevice);
on the callstack window it shows this message:
The application was compiled against and will only work with D3D10_SDK_VERSION (28), but the currently installed runtime is version (29).
Recompile the application against the appropriate SDK for the installed runtime.
I tired with examples of Directx but error is same.
how can I solve this problem?
|
|
|
|
|
Sounds to me like you the version of the DirectX 10 SDK you have is older than the version of the DirectX 10 runtime you have installed (maybe a game's installed a newer version of the runtime?). I'd suggested downloading and installing a newer DirectX10 SDK and rebuilding your program.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Further to my previous reply - the current (March 2009) version of the DirectX SDK has D3D10_SDK_VERSION set to 29. I'm guessing you'll need to download and install that.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Hi there,
I got a little confused here, maybe someone can help with this noob question.
Following code piece to convert byte to int (supposedly big endian):
unsigned int time = ((m_aHeader[4] & 0xff) << 24) |
((m_aHeader[5] & 0xff) << 16) |
((m_aHeader[6] & 0xff) << 8) |
(m_aHeader[7] & 0xff);
Now why is this different than
unsigned int time = ((m_aHeader[4] ) << 24) |
((m_aHeader[5] ) << 16) |
((m_aHeader[6] ) << 8) |
(m_aHeader[7] );
m_aHeader is a byte array.
Edit: Just found, my problem only occurs when I use the first piece of code in java (in c++ it works fine).
I create the bytes in c++ with
m_aHeader[4] = (BYTE) ((time >> 24) & 0xff);
m_aHeader[5] = (BYTE) ((time >> 16) & 0xff);
m_aHeader[6] = (BYTE) ((time >> 8) & 0xff);
m_aHeader[7] = (BYTE) (time & 0xff);
If I read it in c++ with the further above mentioned code pieces, everything is fine.
If I try this in java, though,
long time = ((m_aHeader[4] ) << 24) |
((m_aHeader[5] ) << 16) |
((m_aHeader[6] ) << 8) |
(m_aHeader[7] );
modified on Wednesday, August 26, 2009 3:44 AM
|
|
|
|
|
Provided m_aHeader[k] (k=4..7) is a byte , there is no difference, i.e. you may write ( note there is NO 0xff close to m_aHeader[7] )
unsigned int time = (m_aHeader[4] << 24) | (m_aHeader[5] << 16) | (m_aHeader[6] << 8) | m_aHeader[7];
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
I know, thanks. the m_aHeader[7] 0xff was a typo.
and yes, there should be no difference. I just updated my post, since I found the difference is only in java
|
|
|
|
|
The reason you generally want to and with 0xff is to ensure that when your byte is promoted to int (as it will be internally in the expression), it is zero-extended, i.e. the top 24 bits of the int are set to zero, not one. Why would they be set to one? Basically if the language sign-extends the byte when it makes it an int AND the top bit of the byte is set.
Now, if you use 'unsigned char' for BYTE and 'unsigned int', you should be OK. If you used 'signed char' for BYTE, then you could have issues.
Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p
|
|
|
|
|
Yes, that´s it. Thank´s a lot. Just found out that it was a signed/unsigned issue. Didn´t know, though, why java would make a difference between
int time = data[3];
result is -16
and
int time = data[3] & 0xff;
result is 240
(data[3] being a byte holding 11110000)
So thanks again. I love this forum .
Souldrift
|
|
|
|
|
i want to minimize the application Mainframe window, and want to show the other dialogs which are opened from the application?
from following code it is minimizing everything
AfxGetMainWnd()->ShowWindow(SW_MINIMIZE);
|
|
|
|
|
you can hide and show it with
SW_HIDE and
SW_SHOW
|
|
|
|
|
I tried, it is hiding everything
Dialog is modeles dialog
|
|
|
|
|
You're attempting to make a modeless dialog behave like a modal dialog. Why not just use a modal dialog instead?!
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Why do you have to minimize the mainframe window? If you want the newly opened dialog to have focus until it is dismissed, then just use a modal dialog. See CDialog::DoModal()[^]
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
The dialog should be visible thru entire application and should not minimize at any time.
Dialog should not be modal why because my control should not restrict to dialog. Dialog should be accessible and my mainframe views should be accessible, based on the control from the dialog mainframe views will replaced with the reqd content.
|
|
|
|
|
do u want only minimize your document?
user can restore it?
|
|
|
|
|
sdi mainframe windows splitter into 2 rows and 2nd row into two columns, where views will replaced based on the selection of the controls in the dialog
|
|
|
|
|
HBITMAP hBitmap = 0;
hBitmap = (HBITMAP)LoadImage( NULL,
pDoc->cInfo.strContractBrand,
IMAGE_BITMAP,
0,
0,
LR_LOADFROMFILE | LR_DEFAULTSIZE);
CBitmap Bitmap;
Bitmap.Attach( hBitmap );
BITMAP BitmapInfo = { 0 };
Bitmap.GetBitmap( &BitmapInfo );
DWORD BitmapImageSize = BitmapInfo.bmHeight *
BitmapInfo.bmWidth *
( BitmapInfo.bmBitsPixel / 8 );
BYTE* pBitmapData = new BYTE[ BitmapImageSize ];
ZeroMemory( pBitmapData, BitmapImageSize );
Bitmap.SetBitmapBits(BitmapImageSize, pBitmapData);
Bitmap.SetBitmapBits( BitmapImageSize, pBitmapData );
pDC->SelectObject(&Bitmap);
pDC->BitBlt(1280, -1765, 390, -230, pDC,
0, 0, SRCCOPY);
delete pBitmapData;
pBitmapData = 0;
purpose:
i want to load a bitmap from file and insert in document. the file location is in C..Doc and PDoc is pointer to its document.
MapMode is MM_LOMETRIC.
problem:
it dosen't show anything.
i don't see anything in desired coordinate and print blank page.
notice:
i find these codes in web and didn't work with CBitmap class.
even didn't use bitmap in my programs.
|
|
|
|
|
Your question is very unclear. What is this document you are talking about ? The document class from an SDI app ? If yes, a document class is not something visible, it is supposed to be data only. Are you talking about the view ?
Furthermore, what is this pDC you are using in your code snippet ? Where did you put this code ?
|
|
|
|
|
sry forget it the code is in C..View and pdc defined there.
program is SDI
|
|
|
|
|
Amin.Abdi wrote: pDC->BitBlt(1280, -1765, 390, -230, pDC, // pDC : a CDC pointer to document (SDI Program)
0, 0, SRCCOPY);
What is the purpose of bit-blitting from pDC to pDC itself?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
dcMem.SelectObject(&Bitmap);
pDC->BitBlt(1280, nYposChange-1765, 390, -230, &dcMem, 0, 0, SRCCOPY);
fixed but still nothing
|
|
|
|
|
What's the purtpose of a negative height?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
because of MapMode
modified on Wednesday, August 26, 2009 4:45 AM
|
|
|
|
|
And why do you need the following statements?
Amin.Abdi wrote: BYTE* pBitmapData = new BYTE[ BitmapImageSize ];
ZeroMemory( pBitmapData, BitmapImageSize );
Bitmap.SetBitmapBits(BitmapImageSize, pBitmapData);
Bitmap.SetBitmapBits( BitmapImageSize, pBitmapData );
The last line is because you don't trust MFC ?
If the Lord God Almighty had consulted me before embarking upon the Creation, I would have recommended something simpler.
-- Alfonso the Wise, 13th Century King of Castile.
This is going on my arrogant assumptions. You may have a superb reason why I'm completely wrong.
-- Iain Clarke
[My articles]
|
|
|
|
|
I change my codes :
remove that statement and add these:
CClientDC dcMem;
dcMem.SelectObject(&Bitmap);
pDC->BitBlt(1280, nYposChange-1995, 390, 230, &dcMem, 0, 0, SRCCOPY);
but it show a print screen of window and print nothing. WHY and how can i fix it?
|
|
|
|
|