Basic DirectX Window Issues

Hexui Undetected CSGO Cheats Sinkicheat PUBG Cheat
Status
Not open for further replies.

Tragic

Newbie
Full Member
Nobleman
May 25, 2012
49
352
0
Hey I have been having an issue with this Direct 3D window. I have been getting these errors when ever i try to compile
C++:
1>------ Build started: Project: empty, Configuration: Debug Win32 ------
1> window.cpp
1>c:\users\brett\documents\visual studio 2010\projects\empty\empty\window.cpp(39): error C2440: '=' : cannot convert from 'const wchar_t [12]' to 'LPCSTR'
1>     Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\users\brett\documents\visual studio 2010\projects\empty\empty\window.cpp(52): error C2664: 'CreateWindowExA' : cannot convert parameter 2 from 'const wchar_t [12]' to 'LPCSTR'
1>     Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\users\brett\documents\visual studio 2010\projects\empty\empty\window.cpp(144): fatal error C1075: end of file found before the left brace '{' at 'c:\users\brett\documents\visual studio 2010\projects\empty\empty\window.cpp(141)' was matched
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
Could any one give me an explanation on why this is happening or if you are really kind how to fix it?



C++:
// include the basic windows header files and the Direct3D header file
#include <windows.h>
#include <windowsx.h>
#include <d3d9.h>

// include the Direct3D Library file
#pragma comment (lib, "d3d9.lib")

// global declarations
LPDIRECT3D9 d3d;  // the pointer to our Direct3D interface
LPDIRECT3DDEVICE9 d3ddev;  // the pointer to the device class

// function prototypes
void initD3D(HWND hWnd);  // sets up and initializes Direct3D
void render_frame(void);  // renders a single frame
void cleanD3D(void);  // closes Direct3D and releases memory

// the WindowProc function prototype
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);


// the entry point for any Windows program
int WINAPI WinMain(HINSTANCE hInstance,
          HINSTANCE hPrevInstance,
          LPSTR lpCmdLine,
          int nCmdShow)
{
  HWND hWnd;
  WNDCLASSEX wc;

  ZeroMemory(&wc, sizeof(WNDCLASSEX));

  wc.cbSize = sizeof(WNDCLASSEX);
  wc.style = CS_HREDRAW | CS_VREDRAW;
  wc.lpfnWndProc = WindowProc;
  wc.hInstance = hInstance;
  wc.hCursor = LoadCursor(NULL, IDC_ARROW);
  wc.hbrBackground = (HBRUSH)COLOR_WINDOW;
  wc.lpszClassName = L"WindowClass";

  RegisterClassEx(&wc);

  hWnd = CreateWindowEx(NULL,
             L"WindowClass",
             L"Our First Direct3D Program",
             WS_OVERLAPPEDWINDOW,
             300, 300,
             800, 600,
             NULL,
             NULL,
             hInstance,
             NULL);

  ShowWindow(hWnd, nCmdShow);

  // set up and initialize Direct3D
  initD3D(hWnd);

  // enter the main loop:

  MSG msg;

  while(TRUE)
  {
    while(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
    {
      TranslateMessage(&msg);
      DispatchMessage(&msg);
    }

    if(msg.message == WM_QUIT)
      break;

    render_frame();
  }

  // clean up DirectX and COM
  cleanD3D();

  return msg.wParam;
}


// this is the main message handler for the program
LRESULT CALLBACK WindowProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
  switch(message)
  {
    case WM_DESTROY:
      {
        PostQuitMessage(0);
        return 0;
      } break;
  }

  return DefWindowProc (hWnd, message, wParam, lParam);
}


// this function initializes and prepares Direct3D for use
void initD3D(HWND hWnd)
{
  d3d = Direct3DCreate9(D3D_SDK_VERSION);  // create the Direct3D interface

  D3DPRESENT_PARAMETERS d3dpp;  // create a struct to hold various device information

  ZeroMemory(&d3dpp, sizeof(d3dpp));  // clear out the struct for use
  d3dpp.Windowed = TRUE;  // program windowed, not fullscreen
  d3dpp.SwapEffect = D3DSWAPEFFECT_DISCARD;  // discard old frames
  d3dpp.hDeviceWindow = hWnd;  // set the window to be used by Direct3D


  // create a device class using this information and the info from the d3dpp stuct
  d3d->CreateDevice(D3DADAPTER_DEFAULT,
           D3DDEVTYPE_HAL,
           hWnd,
           D3DCREATE_SOFTWARE_VERTEXPROCESSING,
           &d3dpp,
           &d3ddev);
}


// this is the function used to render a single frame
void render_frame(void)
{
  // clear the window to a deep blue
  d3ddev->Clear(0, NULL, D3DCLEAR_TARGET, D3DCOLOR_XRGB(0, 40, 100), 1.0f, 0);

  d3ddev->BeginScene();  // begins the 3D scene

  // do 3D rendering on the back buffer here

  d3ddev->EndScene();  // ends the 3D scene

  d3ddev->Present(NULL, NULL, NULL, NULL);  // displays the created frame on the screen
}


// this is the function that cleans up Direct3D and COM
void cleanD3D(void)
{
  d3ddev->Release();  // close and release the 3D device
  d3d->Release();  // close and release Direct3D
 

BlackPitchPL

Coder
Full Member
Nobleman
May 24, 2012
166
783
1
hmm when i copy your code to my visual i just add } at end function that clean d3d and it was successful . Tell me if you still get this error with convert did you make DLL project or maybe CONSOLE ??
 

Tragic

Newbie
Full Member
Nobleman
May 25, 2012
49
352
0
hmm when i copy your code to my visual i just add } at end function that clean d3d and it was successful . Tell me if you still get this error with convert did you make DLL project or maybe CONSOLE ??
lol i noticed that but i still have issues the thing cannot convert or whatever stupid reason it has to fail (I have also tried this on CodeBLocks IDE with GNU GCC compiler still the same issues)

"'=' : cannot convert from 'const wchar_t [12]' to 'LPCSTR'" "'CreateWindowExA' : cannot convert parameter 2 from 'const wchar_t [12]' to 'LPCSTR'"


C++:
1>------ Build started: Project: empty, Configuration: Debug Win32 ------
1> window.cpp
1>c:\users\brett\documents\visual studio 2010\projects\empty\empty\window.cpp(39): error C2440: '=' : cannot convert from 'const wchar_t [12]' to 'LPCSTR'
1>     Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>c:\users\brett\documents\visual studio 2010\projects\empty\empty\window.cpp(52): error C2664: 'CreateWindowExA' : cannot convert parameter 2 from 'const wchar_t [12]' to 'LPCSTR'
1>     Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
 

BlackPitchPL

Coder
Full Member
Nobleman
May 24, 2012
166
783
1
On my was no error :p just this one that i mention You post above :p ( i work on VISUAL STUDIO 2010)
 

Tragic

Newbie
Full Member
Nobleman
May 25, 2012
49
352
0
ya i try to work on it but i've tried Dark GDK and it's includes have screwed the VC++ 2010 IDE (im reinstalling window's today so i will have to see whether or not this will work now
 

iVision

Newbie
Jun 10, 2012
17
252
0
I think the problem was that you didnt set the char set to Multibyte but left it at unicode.
 
Status
Not open for further replies.
Attention! Before you post:

Read the How to Ask Questions Guide
99% of questions are answered in the Beginner's Guide, do it before asking a question.

No Hack Requests. Post in the correct section.  Search the forum first. Read the rules.

How to make a good post:

  • Fill out the form correctly
  • Tell us the game name & coding language
  • Post everything we need to know to help you
  • Ask specific questions, be descriptive
  • Post errors, line numbers & screenshots
  • Post code snippets using code tags
  • If it's a large project, zip it up and attach it

If you do not comply, your post may be deleted.  We want to help, please make a good post and we will do our best to help you.

Community Mods