Visual Studio资源文件中的“类型为int的参数与类型为lpcwstr的参数不兼容”

时间:2018-12-10 08:23:01

标签: c++ resources

我试图将.wav文件作为资源添加到我的C ++游戏中,并在运行时进行播放。这是我的主类中的代码:

PlaySound(IDR_WAVE1, GetModuleHandle(NULL), SND_FILENAME);

我的resource.h文件:

#define IDR_WAVE1                       104
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NEXT_RESOURCE_VALUE        105
#define _APS_NEXT_COMMAND_VALUE         40001
#define _APS_NEXT_CONTROL_VALUE         1001
#define _APS_NEXT_SYMED_VALUE           101
#endif
#endif

还有我的.rc文件:

// Microsoft Visual C++ generated resource script.
//
#include "resource.h"

#define APSTUDIO_READONLY_SYMBOLS
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 2 resource.
//
#include "winres.h"

/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS

/////////////////////////////////////////////////////////////////////////////
// English (United States) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US

#ifdef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// TEXTINCLUDE
//

1 TEXTINCLUDE
BEGIN
    "resource.h\0"
END

2 TEXTINCLUDE
BEGIN
    "#include ""winres.h""\r\n"
    "\0"
END

3 TEXTINCLUDE
BEGIN
    "\r\n"
    "\0"
END

#endif    // APSTUDIO_INVOKED

#endif    // English (United States) resources
/////////////////////////////////////////////////////////////////////////////


/////////////////////////////////////////////////////////////////////////////
// English (Australia) resources

#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENA)
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_AUS

/////////////////////////////////////////////////////////////////////////////
//
// WAVE
//

IDR_WAVE1 WAVE "C:\\Users\\zjf\\Desktop\\phil.wav"

#endif    // English (Australia) resources    
/////////////////////////////////////////////////////////////////////////////



#ifndef APSTUDIO_INVOKED
/////////////////////////////////////////////////////////////////////////////
//
// Generated from the TEXTINCLUDE 3 resource.
//


/////////////////////////////////////////////////////////////////////////////
#endif    // not APSTUDIO_INVOKED

问题是,尝试从资源中播放此文件时,我总是收到错误消息。

  

int类型的参数与lpcwstr类型的参数不兼容

我添加了resource.h标头,并尝试在其中添加引号

PlaySound(IDR_WAVE1, GetModuleHandle(NULL), SND_FILENAME);

所以最终会是:

PlaySound("IDR_WAVE1", GetModuleHandle(NULL), SND_FILENAME);

但是,这只会使Windows计算机发出一次哔声。

我将不胜感激,因为我从未使用过资源文件。

1 个答案:

答案 0 :(得分:1)

代替:

<mat-card *ngFor="let item of data; let i = index">

</mat-card>

更改为:

<div class="container">
    <mat-card *ngFor="let item of data; let i = index" #panel [ngClass]="{expanded: expanded[i]}" [class.mat-elevation-z8]="expanded[i]">
        <div class="header">
            Some content here
            <div class="toggle">
                <button mat-icon-button>
        <mat-icon *ngIf="!expanded[i]" (click)="expanded[i]=!expanded[i]">
          edit
        </mat-icon>
        <mat-icon *ngIf="expanded[i]" (click)="expanded[i]=!expanded[i]">cancel</mat-icon>
      </button>
      </div>
    </div>
    <div class="body" *ngIf="expanded[item]">
      Some content here
    </div>
  </mat-card>
</div>