Quantcast
Channel: Visual C forum
Viewing all 15302 articles
Browse latest View live

Open a new dialog from A window toaster click in c++

$
0
0

HI,

I have used Windows code (https://github.com/WindowsNotifications/desktop-toasts)and implemened a new toaster message message for Win32. is there any way to open another exe when i click on the toaster message?

Generally Shellexecute can open in c++ win32 but i am not able to open using the same when i am handling on toaster click event.

Thank you for the help!!

 



Regards, Ravi Raj Nukala


Programming for a piano keyboard

$
0
0

I have made a piano keyboard program in C using FMOD to give different frequencies of some sound files. I can play both by using a mouse, clicking on drawn keys on the screen, or use my PC keyboard, with each key playing a specific frequency etc. Now, what I want is to use an actual piano keyboard instead of my ordinary PC keyboard, and wonder if it is easy and uncomplicated to use the one for the other.

Many piano keyboards are made to be connected to a PC, but I need to know if they have to have some specific features to be able to use them as mentioned above - programming the behaviour of each paino key myself. Maybe I have to find another forum for this question, but I’ll try here first.

Thanks in advance.

Sincerely


Environment variables and different runtimes linked into executable

$
0
0

I read

https://social.msdn.microsoft.com/Forums/vstudio/en-US/e115ed93-f9eb-49ba-a1db-b3f4ee02bd93/application-ignores-env-variables-setting?forum=vcgeneral

It is not clear to me what I should be doing to get the environment variable set properly in my application.

The setup is that I need to link against Python 2.7's import library, which was built with Visual Studio 2008 and also link against the Visual Studio 2017 import libraries.  I am using the setenv function call.  I also tried the SetEnvironmentVariable function call.  Neither worked.

Below is the output of 

dumpbin /depdendents manage.exe
$ dumpbin /dependents manage.exe
Microsoft (R) COFF/PE Dumper Version 14.16.27031.1
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file manage.exe

File Type: EXECUTABLE IMAGE

  Image has the following dependencies:

    Qt3Support4.dll
    QtGui4.dll
    QtXml4.dll
    QtNetwork4.dll
    QtCore4.dll
    vxml_c.dll
    cutilsforada.dll
    libcommoncpp_cutilsforada.dll
    boost_date_time-vc141-mt-x64-1_69.dll
    boost_filesystem-vc141-mt-x64-1_69.dll
    boost_python27-vc141-mt-x64-1_69.dll
    python27.dll
    VcAppLib.dll
    sqlite3.dll
    cinterfacetoada.dll
    api-ms-win-crt-string-l1-1-0.dll
    api-ms-win-crt-time-l1-1-0.dll
    api-ms-win-crt-runtime-l1-1-0.dll
    api-ms-win-crt-heap-l1-1-0.dll
    api-ms-win-crt-convert-l1-1-0.dll
    api-ms-win-crt-environment-l1-1-0.dll
    api-ms-win-crt-stdio-l1-1-0.dll
    api-ms-win-crt-filesystem-l1-1-0.dll
    api-ms-win-crt-math-l1-1-0.dll
    api-ms-win-crt-utility-l1-1-0.dll
    api-ms-win-crt-locale-l1-1-0.dll
    ADVAPI32.dll
    COMCTL32.dll
    COMDLG32.dll
    dhcpcsvc.DLL
    KERNEL32.dll
    NETAPI32.dll
    ole32.dll
    OLEAUT32.dll
    SHELL32.dll
    SHLWAPI.dll
    USER32.dll
    USERENV.dll
    WS2_32.dll
    MSVCP140.dll
    VCRUNTIME140.dll
    libcommonqt_cutilsforada.dll
    CRYPT32.dll
    WINTRUST.dll

So there is the Visual Studio 2017 run time DLLs linked.  But you will also see python27.dll in the dependents, and running dumpbin on that results in

$ dumpbin /dependent python27.dll
Microsoft (R) COFF/PE Dumper Version 14.16.27031.1
Copyright (C) Microsoft Corporation.  All rights reserved.


Dump of file python27.dll

File Type: DLL

  Image has the following dependencies:

    KERNEL32.dll
    USER32.dll
    ADVAPI32.dll
    SHELL32.dll
    MSVCR90.dll

  Summary

       8C000 .data
       1D000 .pdata
      10F000 .rdata
        8000 .reloc
        1000 .rsrc
      1A6000 .text

and here one can see that the Visual Studio 2008 run time DLL appears.

So, the question is this:  if I set an envionment variable in a Visual Studio 2017 produced executable, will it be seen by the DLL built with Visual Studio 2008?  My understanding is that things like environment variables are not shared between DLLs, so I am out of luck.  The variable my be set correctly in the VS 2017 application, but not picked up by Python 2.7's VS 2008 run time dependency.

Is there anything I need to provide to give more details as how to fix this (if possible)?

Thanks,

TOm


This file won't build

$
0
0

// Game.cpp

#include <windows.h>

LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam);

HWND g_hWnd;

// WinMain()
INT WINAPI WinMain(HINSTANCE hInstance, HINSTANCE, LPSTR, INT)
{
 WNDCLASS wc = { CS_CLASSDC, WndProc, 0, 0, hInstance, NULL, NULL, NULL, NULL, "Game" };
 if (!RegisterClass(&wc)) return FALSE;
 g_hWnd = CreateWindow("Game", "", WS_OVERLAPPEDWINDOW, 100, 100, 648, 514, GetDesktopWindow(), NULL, hInstance, NULL);
 if (g_hWnd == NULL) return FALSE;
 ShowWindow(g_hWnd, SW_SHOWDEFAULT);
 MSG msg;
 ZeroMemory(&msg, sizeof(MSG));
 while (msg.message != WM_QUIT)
 {
  if (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
  {
   TranslateMessage(&msg);
   DispatchMessage(&msg);
  }
 }
 UnregisterClass("Game", hInstance);
 return 0;
}

// WndProc()
LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 switch (msg)
 {
 case WM_DESTROY:
  PostQuitMessage(0);
  return 0;
 default:
  return DefWindowProc(hWnd, msg, wParam, lParam);
 }
}

When I try to build the solution I get the following:

C2831 Inconsistent annotation for "WinMain': this instance has no annotations. See c:\program files(x86)\windows kits\10\include\10.0.17763.0\um\winbase.h(913)

LN2019 unresolved external symbol _main referenced in function "int _cdelc invoke main(void)" (?invoke_main@@YAHXY

LKK 1120 1 unresolved externals

What am I doing wrong here?

When I "#include " and "using namespace concurrency::graphics" and then I try to compile my code then there are many errors.

$
0
0

I just downloaded and installed a clean "Microsoft Visual Studio 2019 Enterprise Edition" and I also downloaded and installed the "Windows Desktop Development with C++" and I get this weird errors once I #include <amp_graphics.h> and using namespace concurrency::graphics.

If I comment these two lines in my code then there are no more errors and the entire code compiles successfully.

What's wrong with "amp_graphics.h" and concurrency::graphics namespace?

How do I disable windows firewall and *keep* it off while my program is running?

$
0
0

I am creating a firewall program for my internship, and one of the requirements is that while my firewall is running, the windows firewallmust remain off or have lower priority than my firewall. I've been looking for a solution for over a week now.

So far i am able to turn the Windows firewall off at the start of my program and turn it back on at the end of my program. But the user can still turn windows firewall on or off themselves inbetween that time. This causes conflict in rules and unexpected results.

How can i make it so that when my program is running, all the rules in windows firewall arecompletely irrelevant, i am open to any options.

Thanks!

Need help creating a test application which uses GetSysColor and SetSysColor

$
0
0

I am trying to create a basic visual c++ windows desktop application which will Retrieves the current color of the specified display element. Display elements are the parts of a window and the display that appear on the system display screen using the GetSysColor function.

And then I want to be able to use the SetSysColor to Set the colors for the specified display elements. Display elements are the various parts of a window and the display that appear on the system display screen.

It is has to very basic application as I want to test this function out on windows 7 then on Windows 10 as part of my main project that i am working on.

Any help will be really appreciated! Thanks 

Is Factory method design pattern is used when the class that is instantiating is changing frequently.

$
0
0

Hello All,

My understanding about the Factory method design pattern is - 

Problem:

The scenario is when we created a class that has some other classes and method. At a later point of time there are chances of adding additional functionality to the method. To add additional functionality we are creating another method in the class instead of using the existing method.

class CUIFrameWork{
public:
    CUITemplate* CreateUI()
    {
        CDataComponent* pData = new CDataComponent();
        CUIComponent* pUI = new CUIComponent();

        CToolBarComponent* pTooBar1 = new CToolBarComponent();
        pUI->AddToolBar(pTooBar1);

        return new CUITemplate( pData, pUI );
    }
};

In the below code, i am adding the concrete product CUIComponentScrolling and with that the above class becomes like as shown below:

class CUIFrameWork 
{
public:
    CUITemplate* CreateUI()
    {
        CDataComponent* pData = new CDataComponent();
        CUIComponent* pUI = new CUIComponent();

        CToolBarComponent* pTooBar1 = new CToolBarComponent();
        pUI->AddToolBar(pTooBar1);

        return new CUITemplate( pData, pUI );
    }

    CUITemplate* CreateScrollingUI()
    {
        CDataComponent* pData = new CDataComponent();
        CUIComponent* pUI = new CUIComponentScrolling();

        CToolBarComponent* pTooBar1 = new CToolBarComponent();
        pUI->AddToolBar(pTooBar1);

        return new CUITemplate( pData, pUI );
    }
};

Here to avoid creating a new method every time when adding additional functionality we use Factory method by creating an interface or superclass that has generic behavior with only the definition and allow the subclasses derive from it handles the implementation and the subclasses will decide which classes to instantiate.

Is my understanding is correct?

class CUIFrameWork 
{
public:

    virtual CDataComponent* MakeDataComp()
    {
        return new CDataComponent(); 
    }

    virtual CUIComponent* MakeUIComp()
    {
        return new CUIComponent();
    } 

    virtual CToolBarComponent* MakeToolBarComp( UINT nID )
    {
        return new CToolBarComponent( nID );
    } 

    CUITemplate* CreateUI()
    {
        CDataComponent* pData = MakeDataComp();
        CUIComponent* pUI = MakeUIComp();
        CToolBarComponent* pTooBar1 = MakeToolBarComp( ID_STANDARD );

        pTooBar1->AddDropDownButton();
        pTooBar1->AddComboBox();

        pUI->AddToolBar(pTooBar1);

        return new CUITemplate( pData, pUI );
    }
};


To create a scrolling UI component, we would just need to create another framework class and override the method MakeUIComp() and create a scrolling UI component.

class CUIFrameWork_ScrollingUI : public CUIFrameWork
{
public:
    virtual CUIComponent* MakeUIComp()
    {
        return new CUIComponentScrolling();
    }
};

Similar to changing the toolbar component, we can create another framework class and override the MakeToolBarComp() method and create new toolbar components.

class CUIFrameWork_SizingBars : public CUIFrameWork
{
public:
    virtual CToolBarComponent* MakeToolBarComp( UINT nID )
    {
        return new CToolBarComponent_SizingBar( nID );
    }
};


Can I take the above scenario and example to explain the Factory method design pattern?
Please provide your comments.


Thanks in Advance

                      

Visual Studio 2017 15.9, targeting Visual Studio 2008

$
0
0

I have followed the instructions to enable Visual Studio 2017 15.9 to target Visual Studio 2008.  That is, I first installed Visual Studio 2008, then Visual Studio 2010 (to get msbuild), then installed Visual Studio 2017 (latest version).

I now see that I can target the Visual Studio 2008 tool chain, yet when I go to run msbuild on my .sln file, the resulting tool chain is still the Visual Studio 2017 tool chain, and moreover the object code still depends on the Visual Studio 2017 run times.

What am I missing here?  Is this a regression in Visual Studio 2017 15.9?

Thanks,

Tom

Are EnableWindow and SetReadOnly mutually exclusive?

$
0
0

I'm not quite sure how to phrase this question. I am asking it purely for knowledge sake. 

I have a CEdit box derived from CWnd. I know there's no reason I would need to do this, but I tried calling m_edtBox.EnableWindow (FALSE), immediately followed by m_edtBox.SetReadOnly. I found the box never does get set to read only, and instead stays disabled. I was wondering why this is? 

Scalar deleting destructor, an unhandled exception during a user callback, when program exit

$
0
0

Greetings...

Anyone can advise what is wrong and what can be done?

	CRunProcess* m_Proc[NUM_PROC];
	CMainClass::~CMainClass()
	{
		for (int i = 0; i < NUM_PROC; i++)
		{
			if (m_Proc[i] != NULL)
			{
				delete m_Proc[i];
				m_Proc[i] = NULL;
			}
		}
	}	

	m_Proc[RUN_PROCESS_1] = new CProcess1();
	virtual ~CProcess1()
	{
		// OK
	}
	
	m_Proc[RUN_PROCESS_2] = new CProcess2();
	virtual ~CProcess2()
	{
		// OK
	}
	
	m_Proc[RUN_PROCESS_3] = new CProcess3();
	virtual ~CProcess3()
	{
	    // Here Have Nothing also encountered error during Program exit 
		// NOT OK ; calling destructor Twice, failed on 2nd time
		// An unhandled exception was encountered during a user callback
		// Scalar deleting destructor
	}
	
	m_Proc[RUN_PROCESS_4] = new CProcess4();
	virtual ~CProcess4()
	{
		// OK
	}

Thanks a bunch!

CHeers~~~

Why is the owning window showing up above the owned window?

$
0
0

I have this very strange issue. I'm trying to get a window hierarchy to be replicated. So on creating the 1st level dialog, I'm start the instance of the 2nd level dialog.

I've done this in many different ways, but it always shows up as the 2nd level being below the 1st level and then usually a zorder inversion happens (they flip positions). Occasionally, the inversion doesn't happen, but if I click on the owner, the owned immediately jumps to the top of the zorder.

Here are the main parts of a small example to show this happening:

const unsigned short WMA_DIALOGACTION        = WM_APP+1;

// Button event handler for the 0th level
void CdialogcallingdialogsDlg::OnBnClickedDlgLvl1()
{
    CDlgLvl1 x(this);
    x.DoModal();
}

BEGIN_MESSAGE_MAP(CDlgLvl1, CDialogEx)
    ON_WM_WINDOWPOSCHANGED()
    ON_MESSAGE(WMA_DIALOGACTION, OnDialogAction)
END_MESSAGE_MAP()

void CDlgLvl1::OnWindowPosChanged(WINDOWPOS* lpwndpos)
{
    if (!m_shownDlg) {
        m_shownDlg = true;
        PostMessage(WMA_DIALOGACTION);
    }
}

// Level 1 dialog opening up level 2 dialog
LRESULT CDlgLvl1::OnDialogAction(WPARAM wParam, LPARAM lParam)
{
    ShowWindow(SW_SHOW);
    CDlgLvl2 x(this);
    x.DoModal();
    return LRESULT();
}

BEGIN_MESSAGE_MAP(CDlgLvl2, CDialogEx)
    ON_WM_WINDOWPOSCHANGING()
END_MESSAGE_MAP()

// Level 2 dialog offseting its position
void CDlgLvl2::OnWindowPosChanging(WINDOWPOS* lpwndpos)
{
    ASSERT(lpwndpos->hwnd == m_hWnd);
    // Offset dialog to see the problem of dlg2 showing up below dlg1
    if (!(lpwndpos->flags & SWP_NOMOVE)) {
        lpwndpos->x += 10;
        lpwndpos->y += 10;
    }
}

In the example, you click on the button in the main dialog. That then starts up CDlgLvl1 which then starts up CDlgLvl2. The dialogs are the default dialogs except for the message handling that is shown here and a button on the main application dialog. If you look at it carefully, you can see the inversion.

What am I doing wrong? Perhaps there is a better way to do this?

In case it makes a difference, the issue is more pronounced under Windows 10 and doesn't seem to be visible on Windows 8.1.

A copy of the solution can be pulled from my git repo here:

https://github.com/Ma-XX-oN/dialog-calling-dialogs.git

I've just added some bitmaps on the dialogs to really show the issue, but I've not tested on my 8.1 box yet.

I did a recording of how it pops up and here is frame 0, 2, and 3 of that recording:

Frame 0 frame-0

Frame 2 frame-2

Frame 3 frame-3

As you can see, LVL1 appears over LVL2 in Frame 2, and then flips position in Frame 3.

Full video can be found here.

Using this example project, I've not been able to replicate LVL1 staying overtop of LVL2, but I believe that the behaviour of the zorder inversion not happening is some sort of race condition.

This was originally posted on SO here.


I don't mind someone marking a post as "Proposed as answer", but DO NOT mark it as "Answered". If I am the OP, I will decide if a post actually answers my post or not. Thank you.



C++ Class and Functions

$
0
0
I have a code I am working on, but have been working on it for too long. The functions work independently of each other, but together they do not. As well, could someone give me an laymens explanation on functions. I have read, and I have read but they still confuse me. Hence why my code is not working. I have tried declaring int a, b, and c in a few spots but it nothing works. If someone could look at it and point me in the direction on where I need to focus my attention, I would really appreciate it.
#include "pch.h"
#include <iostream>
#include <conio.h>
using namespace std;

int gcd(int a, int b)
{

	if (a= 0)
		return b;
	return gcd(b % a, a);
}

class Fraction
{
	int numerator, denominator, whole_number;
	int newFraction;	
	
public:
	int a;
	int b;
	int c;
	
	const static char Slash;
	char aSlash();
	int enterFractionValue();	
	void setValues(int a, int b, int c);
	int reduceFraction(int a, int b, int c);
	void displayFraction();	

};

const char Fraction::Slash = '/';

char Fraction::aSlash()
{
	return Slash;
}

int Fraction::enterFractionValue()
{
	
	while ((whole_number != 0) && (numerator != 0))
	{
		//Read whole_number 
		cout << "Enter a whole number: >> ";
		cin >> whole_number;
		//Read numerator
		cout << "Enter a numerator: >> ";
		cin >> numerator;
		//Read denominator
		cout << "Enter a denominator: >> ";
		cin >> denominator;
		while (denominator == 0)
		{
			cout << "Zero is not a valid dominator value" << endl;
			cout << "Enter a different denominator value: >> ";
			cin >> denominator;
		}		
		return whole_number, numerator, denominator;
	}	
};

void Fraction::setValues(int a, int b, int c)
{
	this->whole_number = a;
	this->numerator = b;
	this->denominator = c;
}

int Fraction::reduceFraction(int a, int b, int c)
{	
	int gcf;
	int y;
	if (b >= c)
	{
		a += b / c;
		b = b % c;
	}
	gcf = 1;
	for (y = b; y > 0; --y)
	{
		if (b % y == 0 && c == 0)
		{
			gcf = y;
			y = 0;
		}
	}
	b /= gcf;
	c /= gcf;	
	return (a, b, c);
	//test output
	cout << a << " " << b << "/" << c << endl;
}
void Fraction::displayFraction()
{	
	cout << a << " " << b << Slash << c << endl;
}

int main()
{
	Fraction newFraction;
	int a;
	int b;
	int c;
	
	
		newFraction.enterFractionValue();
		newFraction.setValues(a, b, c);		
		newFraction.reduceFraction(a, b, c);
		newFraction.displayFraction();

	return 0;
}

error c0000417 when loading msvcr90.dll for an exe loaded via a network path but works from local PC.

$
0
0

hi,

i've got a client that has an issue that i can't reproduce on my inhouse setup.

when they install our application on a server disc and try to run it from a client PC, the application doesn't start. the event viewer report image to follow when my account gets verified!

but when they install and run on the client PC, it works OK.

what  tools are available to aid diagnosing and fixing this issue?

TIA

K



WTSStartRemoteControlSession: does it work?

$
0
0

In a nutshell, I can't get the WTSStartRemoteControlSession to work.

As a bit of background, my application currently uses the WinStationShadow api, found in WINSTA.DLL.  This used to work, but perhaps over the years newer Windows versions changed something.  Now the error "This function is not supported on this system" is returned when calling WinStationShadow.  Changing to using WTSStartRemoteControlSession gets the exact same error.

The attempt to shadow a session is made on a session connected to the server, and this is done through a remote session, which I know is required for it to work.  I was able to shadow the session using mstsc /shadow:<session_id>, so that part is working. I also tried a NULL server, which changes the error to 'The parameter is incorrect'.

Has anyone determined if this function still works on Server 2016 and onwards?


NetQueryDisplayInformation fails on Server 2016

$
0
0

After updating to 14393.3085 (or later), calls to NetQueryDisplayInformation fail with error 1359 (Error_Internal_Error).

Both options to get users or global groups fail.  The problem seems to be related to the resume handle, if ERROR_MORE_DATA is returned, and the next batch of users/groups is retrieved, the error is returned.

As a test, I took the sample code from:

https://docs.microsoft.com/en-us/windows/win32/api/lmaccess/nf-lmaccess-netquerydisplayinformation#parameters

...and modified it to get users, imported a few hundred users, and the error occurs.  Rolling back the .3085 update fixes the problem.

NetUserEnum is not impacted by this issue.  

Is this a known issue or any workaround available?

Extracting a file from an exe file resource

$
0
0

I'm trying to load a file from a resource included in the program's exe file

The file keeps coming out empty, so I guess I'm not writing the string correctly from the pointer to the file.

The openbinaryfile and put$() functions work correctly throughout the program, and always correctly write the std::string to the file, so those are not the issue...

Any ideas what I'm doing wrong ?

     //load file data from resource

     HRSRC hresource=FindResource(hinstance,L"IDR_FILE",RT_RCDATA);
     HGLOBAL hmemory=LoadResource(hinstance,hresource);
     DWORD res_size=SizeofResource(hinstance,hresource);
     LPVOID p=LockResource(hmemory);

     //write resource data at pointer "p" to file "File.dat"

     std::string dta=std::string(reinterpret_cast<char*>(p),res_size);

     HANDLE ff1=openbinaryfile("File.dat");
     put$(ff1,dta);
     CloseHandle(ff1);

     UnlockResource(hmemory);
     FreeResource(hmemory);

     //-----------------------------------------------------


Hovering shows A (not W) info in a Unicode project

$
0
0

VS 2019

I have Properties ... Advanced ... Use Unicode Character Set.  But when I hover on the name of a function or struct devenv shows me the "A" define/typedef information (rather than the "W" info).  Can I change that ?

Thanks.

 - Vince

WinSrv2012R2 ucrtbase.dll Exception c0000409

$
0
0

Have search internet long and hard for answer to this but to no avail:

Have an internally developed exe (64-bit C++ program) which we're trying to run on a Windows Server 2012 R2 box, but fails immediately with the following exception (key parts):

Problem Event Name: BEX64

Fault Module Path: c:\windows\system32\ucrtbase.dll

Fault Module Version: 10.0.10586

Exception Code: c0000409

We believe there is no issue with our app because it runs fine on another WinSrv2012R2 box of a similar build, and have checked and can confirm that the dll is present in the system32 folder (and syswow64 folder). Any help would be greatly appreciated.

Thank you.

Missing msjro.dll

$
0
0

Hello,

I have a pretty old project that was running fine on older windows versions (XP). This project uses odbc to connect to ms access data base. No the goal is to make it run on windows 10 without modifying it too much if possible.

I have Windows 10 1803 (X64), MS Access 2016 (16.0.4819 32 bit) 

When I try to compile this project it gives me the following error when I try to build:

fatal error C1083: Cannot open type library file: 'msjro.dll': No such file or directory.

when I double click on this entry on output console iit takes me to this line:

#import <msjro.dll> rename("EOF", "adoEOF")

msjro.dll windows search gives: program files (x86)/common files/system/ado/msjro.dll

I added \Program Files (x86)\Common Files\system\ado to Additional include directories and then the following error pop upped:

<project path>\debug\msjro.tlh(198): error C3646: 'ConflictTables': unknown override specifier
<project path>\debug\msjro.tlh(198): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<project path>\debug\msjro.tlh(226): error C3646: 'GetConflictTables': unknown override specifier
<project path>\debug\msjro.tlh(226): error C2059: syntax error: '('
<project path>\debug\msjro.tlh(226): error C2238: unexpected token(s) preceding ';'
<project path>\debug\msjro.tli(111): error C2039: 'GetConflictTables': is not a member of 'JRO::IReplica'
<project path>\debug\msjro.tlh(187): note: see declaration of 'JRO::IReplica'
<project path>\debug\msjro.tli(111): error C7525: inline variables require at least '/std:c++17'
<project path>\debug\msjro.tli(111): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
<project path>\debug\msjro.tli(111): error C2146: syntax error: missing ';' before identifier 'GetConflictTables'
<project path>\debug\msjro.tli(113): error C3861: 'get_ConflictTables': identifier not found
<project path>\debug\msjro.tli(114): error C2355: 'this': can only be referenced inside non-static member functions or non-static data member initializers
<project path>\debug\msjro.tli(114): error C2660: '_com_issue_errorex': function does not take 1 arguments
1>c:\program files (x86)\microsoft visual studio\2017\enterprise\vc\tools\msvc\14.16.27023\include\comdef.h(229): note: see declaration of '_com_issue_errorex'
<project path>\debug\msjro.tli(115): error C2064: term does not evaluate to a function taking 2 arguments
<project path>\debug\msjro.tli(115): warning C4508: 'JRO::GetConflictTables': function should return a value; 'void' return type assumed
<project path>\debug\msjro.tli(116): error C2617: 'JRO::GetConflictTables': inconsistent return statement
<project path>\debug\msjro.tli(111): note: see declaration of 'JRO::GetConflictTables'

Any ideas how to fix this?

Viewing all 15302 articles
Browse latest View live