EDN Admin
Well-known member
Hello everybody,
I have a problem that has made me desperate! I think it is really an easy one but I really do not know why it doesnt work!
The problem is, I want to add the functionality to a DLL project to open a window and show there some information.... But I can not open the window!
Here is the code:
<br/>
#include "stdafx.h"<br/>
#include "faErgoPluginTypes.h"<br/>
#include "ErgoAPSTypes.h"<br/>
#include <iostream><br/>
#include <Windows.h><br/>
#include <string.h><br/>
#include <tchar.h><br/>
using namespace std;<br/>
HINSTANCE hInstance;<br/>
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)<br/>
{<br/>
<span style="white-space
re PAINTSTRUCT ps;<br/>
<span style="white-space
re HDC hdc;<br/>
<span style="white-space
re TCHAR greeting[] = _T("Hello, World!");<br/>
<span style="white-space
re switch (message)<br/>
<span style="white-space
re {<br/>
<span style="white-space
re case WM_PAINT:<br/>
<span style="white-space
re hdc = BeginPaint(hWnd, &ps);<br/>
<span style="white-space
re TextOut(hdc, 5, 5, greeting, _tcslen(greeting));<br/>
<span style="white-space
re EndPaint(hWnd, &ps);<br/>
<span style="white-space
re break;<br/>
<span style="white-space
re case WM_DESTROY:<br/>
<span style="white-space
re PostQuitMessage(0);<br/>
<span style="white-space
re break;<br/>
<span style="white-space
re default:<br/>
<span style="white-space
re return DefWindowProc(hWnd, message, wParam, lParam);<br/>
<span style="white-space
re break;<br/>
<span style="white-space
re }<br/>
<span style="white-space
re return 0;<br/>
}<br/>
<br/>
void Sim::OnSimStart(TplgHandle Sende)<br/>
{<span style="white-space
re
<span style="white-space
re <span style="white-space
re // Here I define a window resource
<span style="white-space
re HINSTANCE hInst;<br/>
<span style="white-space
re static TCHAR szWindowClass[] = _T("win32app");<br/>
<span style="white-space
re static TCHAR szTitle[] = _T("Win32 Guided Tour Application");<br/>
<span style="white-space
re WNDCLASSEX wcex;<br/>
<span style="white-space
re wcex.cbSize = sizeof(WNDCLASSEX);<br/>
<span style="white-space
re wcex.style = CS_HREDRAW | CS_VREDRAW;<br/>
<span style="white-space
re wcex.lpfnWndProc = WndProc;<br/>
<span style="white-space
re wcex.cbClsExtra = 0;<br/>
<span style="white-space
re wcex.cbClsExtra = 0;<br/>
<span style="white-space
re wcex.hInstance = hInstance;<br/>
<span style="white-space
re wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_APPLICATION));<br/>
<span style="white-space
re wcex.hCursor = LoadCursor(NULL, IDC_ARROW);<br/>
<span style="white-space
re wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1);<br/>
<span style="white-space
re wcex.lpszMenuName = NULL;<br/>
<span style="white-space
re wcex.lpszClassName = szWindowClass;<br/>
<span style="white-space
re wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_APPLICATION));<br/>
<span style="white-space
re if (!RegisterClassEx(&wcex))<br/>
<span style="white-space
re {<br/>
<span style="white-space
re MessageBox(NULL,<br/>
<span style="white-space
re _T("Call to RegisterClassEx failed!"),<br/>
<span style="white-space
re _T("Win32 Guided Tour"),<br/>
<span style="white-space
re NULL);<br/>
<span style="white-space
re //return 1;<br/>
<span style="white-space
re <br/>
<span style="white-space
re }<br/>
<span style="white-space
re hInst = hInstance;<br/>
<span style="white-space
re HWND hWnd = CreateWindow(<br/>
<span style="white-space
re szWindowClass,<br/>
<span style="white-space
re szTitle,<br/>
<span style="white-space
re WS_OVERLAPPEDWINDOW,<br/>
<span style="white-space
re CW_USEDEFAULT, CW_USEDEFAULT,<br/>
<span style="white-space
re 500, 100,<br/>
<span style="white-space
re NULL,<br/>
<span style="white-space
re NULL,<br/>
<span style="white-space
re hInstance,<br/>
<span style="white-space
re NULL<br/>
<span style="white-space
re );<br/>
<br/>
<br/>
<span style="white-space
re if(!hWnd)<br/>
<span style="white-space
re {<br/>
<span style="white-space
re MessageBox(NULL,<br/>
<span style="white-space
re _T("Call to CreateWindow failed!"),<br/>
<span style="white-space
re _T("Win32 Guided Tour"),<br/>
<span style="white-space
re NULL);<br/>
<span style="white-space
re //return 1;<br/>
<span style="white-space
re <br/>
<span style="white-space
re }<br/>
<span style="white-space
re ShowWindow(hWnd, nCmdShow);<br/>
<span style="white-space
re UpdateWindow(hWnd);<br/>
<span style="white-space
re MSG msg;<br/>
<span style="white-space
re while(GetMessage(&msg, NULL, 0, 0))<br/>
<span style="white-space
re {<br/>
<span style="white-space
re TranslateMessage(&msg);<br/>
<span style="white-space
re DispatchMessage(&msg);<br/>
<span style="white-space
re }<br/>
<span style="white-space
re //return(int) msg.wParam;<br/>
}<br/>
<br/>
<br/>
void Sim::OnSimCycleComplete(TplgHandle Sender, TplgObjectID DeviceID, double ElapsedTime, bool IsLastDevice, bool IsHiddenRun)<br/>
{<span style="white-space
re <br/>
<span style="white-space
re //......<br/>
}<br/>
<br/>
<br/>
void Sim::OnSimTargetReached(TplgObjectID DeviceID, TplgObjectID ReachedTargetID, TplgObjectID NextTargetID, TSimTargetReachedEventKind Kind)<br/>
{<br/>
<span style="white-space
re //.....<br/>
}<br/>
<br/>
<br/>
long Sim::OnErgoStep(TplgHandle Sender, PplgErgoNodeData ErgoNodeData)<br/>
{<br/>
<br/>
<br/>
<span style="white-space
re if (Device_GetActiveDeviceID() != ErgoNodeData->ActorDeviceID)<br/>
<span style="white-space
re {<br/>
<span style="white-space
re return erUndefined;<br/>
<span style="white-space
re }<br/>
<br/>
<span style="white-space
re if (ErgoNodeData->SimTime < 0) <br/>
<span style="white-space
re {<span style="white-space
re <br/>
<span style="white-space
re return erUndefined;<br/>
<span style="white-space
re }<br/>
<br/>
<br/>
<span style="white-space
re StepCounter++;<br/>
<span style="white-space
re if(StepCounter % 100 == 0)<br/>
<span style="white-space
re {<br/>
<span style="white-space
re <br/>
<span style="white-space
re //......<br/>
<span style="white-space
re if (StepCounter % 20 == 0)<br/>
<span style="white-space
re {<br/>
<span style="white-space
re char DebugText1[1024];<br/>
<span style="white-space
re char DebugText2[1024];<br/>
<span style="white-space
re //char DebugText3[1024];<br/>
<span style="white-space
re //char DebugText4[1024];<br/>
<span style="white-space
re sprintf(DebugText1, "NTH X: %.2f Y: %.2f Z: %.2f",NTH[3][0],NTH[3][1],NTH[3][2]);<br/>
<span style="white-space
re Log_Message(DebugText1);<br/>
<span style="white-space
re <br/>
<span style="white-space
re sprintf(DebugText2, "CTH Winkel X: %.2f Y: %.2f Z: %.2f",CTH[2][0],CTH[2][1],CTH[2][2]);<br/>
<span style="white-space
re Log_Message(DebugText2);<br/>
<span style="white-space
re //sprintf(DebugText3, "LTS X: %.2f Y: %.2f Z: %.2f",LTS[3][0],LeftHandToLeftShoulder[3][1],LTS[3][2]);<br/>
<span style="white-space
re //Log_Message(DebugText3);<br/>
<span style="white-space
re //sprintf(DebugText4, "RTS X: %.2f Y: %.2f Z: %.2f",RTS[3][0],RTS[3][1],RightHandToRightShoulder[3][2]);<br/>
<span style="white-space
re //Log_Message(DebugText4);<br/>
<br/>
<span style="white-space
re }<span style="white-space
re <br/>
}<span style="white-space
re <br/>
}<br/>
<br/>
<br/>
long Sim::UpdateActorCount()<br/>
{<br/>
<span style="white-space
re long DeviceCount;<br/>
<span style="white-space
re long Count = 0;<br/>
<span style="white-space
re Tpfc_Device_GetDataOut DeviceData;<br/>
<span style="white-space
re TplgObjectID DeviceID;<br/>
<br/>
<br/>
<span style="white-space
re //....
<span style="white-space
re return Count;<br/>
}
Thank you very much for any help in advance!
View the full article
I have a problem that has made me desperate! I think it is really an easy one but I really do not know why it doesnt work!
The problem is, I want to add the functionality to a DLL project to open a window and show there some information.... But I can not open the window!
Here is the code:
<br/>
#include "stdafx.h"<br/>
#include "faErgoPluginTypes.h"<br/>
#include "ErgoAPSTypes.h"<br/>
#include <iostream><br/>
#include <Windows.h><br/>
#include <string.h><br/>
#include <tchar.h><br/>
using namespace std;<br/>
HINSTANCE hInstance;<br/>
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)<br/>
{<br/>
<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

}<br/>
<br/>
void Sim::OnSimStart(TplgHandle Sende)<br/>
{<span style="white-space

<span style="white-space


<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<br/>
<br/>
<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

}<br/>
<br/>
<br/>
void Sim::OnSimCycleComplete(TplgHandle Sender, TplgObjectID DeviceID, double ElapsedTime, bool IsLastDevice, bool IsHiddenRun)<br/>
{<span style="white-space

<span style="white-space

}<br/>
<br/>
<br/>
void Sim::OnSimTargetReached(TplgObjectID DeviceID, TplgObjectID ReachedTargetID, TplgObjectID NextTargetID, TSimTargetReachedEventKind Kind)<br/>
{<br/>
<span style="white-space

}<br/>
<br/>
<br/>
long Sim::OnErgoStep(TplgHandle Sender, PplgErgoNodeData ErgoNodeData)<br/>
{<br/>
<br/>
<br/>
<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<br/>
<span style="white-space

<span style="white-space


<span style="white-space

<span style="white-space

<br/>
<br/>
<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<br/>
<span style="white-space


}<span style="white-space

}<br/>
<br/>
<br/>
long Sim::UpdateActorCount()<br/>
{<br/>
<span style="white-space

<span style="white-space

<span style="white-space

<span style="white-space

<br/>
<br/>
<span style="white-space

<span style="white-space

}
Thank you very much for any help in advance!
View the full article