Ich habe versucht folgendes Listing zu kompilieren, funktioniert auch wunderbar. Allerdings macht Unicode einige Probleme im Bezug auf der Textausgabe in der Messagebox. Folgendes Listing:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
int main(void)
{
PDIRECT3D9 pd3d;
D3DADAPTER_IDENTIFIER9 *pd3d_adapter;
pd3d = Direct3DCreate9(D3D_SDK_VERSION);
int iNumAdapters = pd3d->GetAdapterCount();
pd3d_adapter = new D3DADAPTER_IDENTIFIER9[iNumAdapters];
TCHAR ca_adapter[1024];
for(int i = 0; i < iNumAdapters; i++)
{
swprintf(ca_adapter, 1024, L"%s", pd3d_adapter[i].Description);
MessageBoxW(NULL, ca_adapter, L"", 0);
}
}
|
Es werden mir nur kryptische Zeichen bzw. Vierecke angezeigt. Versuche ich die Variable 'ca_adapter' mit dem TEXT-Makro auszugeben, erscheint folgender Fehler:
error C2065: 'Lca_adapter' : undeclared identifier ...
Der Zeichensatz ist übrigens auf Unicode eingestellt.
Verwendet wird Visual C++ 2008 Express Edition (Englisch) unter Windows XP. Den entsprechenden FAQ-Beitrag mit Unicode habe ich mir auch durchgelesen. Evtl. mache ich hier nur etwas falsch?