DirectX in BCB und AnsiString
-
#include<dsound.h> //--------------------------------------------------------------------------- class CDSWave { public: DWORD m_dwSize; protected: char* m_pWave; WAVEFORMATEX m_wavFormat; public: __fastcall CDSWave(); // __fastcall CDSWave(const AnsiString &strFileName); };
Kein wirklich weltbewegendes Codeteil und trotzdem gehts schon hier nicht. Der AnsiString im auskommentierten KOnstruktor war CString von MS. So auskommentiert geht es, wenn ich es aber wieder reinnehme bekommen ich folgende Fehlermeldungen, welche auf diese Zeile zeigen.
[C++ Fehler] Unit2.h(18): E2293 ) erwartet
[C++ Fehler] Unit2.h(21): E2040 Deklaration nicht ordnungsgemäß abgeschlossen
[C++ Fehler] Unit2.h(21): E2190 Unerwartetes }
-
Include mal dstring.h
-
Da ich inzwischen auf noch in Problem beim umwandeln meines Beispielcodes ausm Buch für MS nach BCB gekommen bin, such ich gleich hier nach Hilfe und spar nehn neuen Thread.
In meiner MS-Funktion steht folgendes:
//== Ermitteln des Hauptfensters der Anwendung CWnd* pWnd = ::AfxGetMainWnd(); if(pWnd == NULL) { DSError("Hauptfenster der Anwendung existiert nicht"); return false; } HWND hWnd = pWnd->m_hWnd; assert(hWnd != NULL);
Problem macht mir hierbei das AfxGetMainWnd();
Gibts da was entsprechendes für BCB.
-
vielleicht hilft dir das weiter:
TApplication::Handle
TApplication::MainFormDie haben zwar andere Rückgabewerte und dadurch musst du die ganze Sysntax deines VC++ ändern, aber damit müsstest du die gleiche Funktionalität abdecken können.
-
TApplication::MainForm oder so ähnlich...
-junix
-
Hmm, jo gut damit wäre es machbar, dann müsste ich meiner Klasse nur noch nehn Zeiger auf die Application mit übergeben, weil diese darin sonst nicht bekannt ist und das können die mit ihrer AFXGetMainWindow() Funtion scheinbar umgehen oder so.
Aber mach ich so, hauptsache es geht erstmal. DAnke.