2017-08-14 2 views
1

ich auf ein Problem der CImage-Klasse kam, der Teil der MFC ist: ImageFormatBMPMSDN: „Diese Klasse und ihre Mitglieder können nicht in Anwendungen eingesetzt werden, die in dem Windows-Runtime ausführen“

void SaveBmp(HBITMAP handle, CString name) 
{ 
    CImage image; 
    image.Attach(handle); 
    image.Save(name,ImageFormatBMP); 
} 

Das Symbol ist ein nicht deklarierter Bezeichner

Ich ging in MSDN section for the CImage class, und sah diese bizarre Note am Seitenanfang:

This class and its members cannot be used in 
applications that execute in the Windows Runtime. 

mir jemand kann die Bedeutung dieser (lächerlich IMO) Anmerkung bitte erklären?

Wo sonst könnte diese Klasse möglicherweise anders als in einer Windows-Anwendung verwendet werden ???

Vielen Dank.

Antwort

5

Die Windows Runtime (WinRT) ist eine spezielle Runtime, die für Anwendungen verwendet werden kann. Diese Notiz sagt Ihnen einfach, dass diese Klassen nicht verfügbar sind, wenn Sie eine Anwendung entwickeln, die unter WinRT ausgeführt werden soll.

Zitat aus Wikipedia:

Windows-Runtime (WinRT) ist eine plattformunabhängige Anwendungsarchitektur erstmals in Windows 8 und Windows Server 2012 eingeführt in 2012 WinRT unterstützt die Entwicklung in C++/CX (Component Erweiterungen, eine Sprache basierend auf C++), JavaScript-TypeScript und der verwaltete Code Sprachen C# und Visual Basic .NET (VB.NET). WinRT-Anwendungen unterstützen nativ sowohl die x86- als auch die ARM-Prozessoren und werden in einerSandbox-Umgebung ausgeführt, um höhere Sicherheit und Stabilität zu ermöglichen. WinRT Komponenten sind mit Interoperabilität zwischen mehreren Sprachen und APIs im Hinterkopf entwickelt, einschließlich native, verwaltete und Scripting Sprachen.

https://en.wikipedia.org/wiki/Windows_Runtime

Des Weiteren ist ImageFormatBMP Teil der GDIPlus aber nicht von CImage Klasse. Um dies zu nutzen, müssten Sie GDIplus, den gdiplus-Header und den entsprechenden Namespace verwenden.

+0

Großartig, danke. Irgendeine Idee, wie ich den eigentlichen Übersetzungsfehler auflösen kann? – goodvibration

+1

Änderte meine Antwort – xMRi

Verwandte Themen