Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
Window win; win.show(); LPTSTR title = win.getText(); MessageBox ( NULL, title, L"", MB_OK ); delete title; // Hier nochmal die getText Methode LPTSTR Window::getText() { if( m_Handle ) { int textLength = GetWindowTextLength( m_Handle ); if( textLength ) { // To Match the \0 textLength += 1; LPTSTR lpBuffer = new TCHAR[ textLength ]; int success = GetWindowText( m_Handle, lpBuffer, textLength ); if( !success ) { SAFE_DELETE(lpBuffer); return NULL; } return lpBuffer; } } return NULL; } |
C-/C++-Quelltext |
|
1 2 3 4 |
Window win;
win.show();
MessageBox ( NULL, win.getText(), L"", MB_OK );
|
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Sortoc« (18.06.2012, 13:58)
C-/C++-Quelltext |
|
1 2 3 4 5 |
#ifdef UNICODE namespace std { typedef wstring tstring; }; #else namespace std { typedef string tstring; }; #endif |
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »dot« (18.06.2012, 15:58)
Ja, oder noch besser: std::unique_ptr oder std::vector verwenden
Bitte nicht persönlich nehmen, aber du hast das schon geschrieben.Verwend (wenn möglich) doch einfach std::basic_string!? Oder zumindest z.B. std::vector oder std::unique_ptr. LPTSTR ist nur ein typedef für TCHAR*...
Vielleicht ein kleiner Hinweis zu deiner Lösung: Genaugenommen ist es verboten, dem Namespace std neue typedef's hinzuzufügen
Dein SAFE_DELETE kannst du dir übrigens sparen ;)
delete lpBuffer; und fertig.
Ja, oder noch besser: std::unique_ptr oder std::vector verwenden ;)
Dein SAFE_DELETE kannst du dir übrigens sparen
delete lpBuffer; und fertig.
Schon lustig das einem die Bücher immer Sachen vermitteln die anscheinend garnicht gebraucht werden und du hast natürlich recht ein einfaches delete würde ausreichen aber ist es den ein Performanceverlust SAFE_DELETE zu nehmen?
Ja, oder noch besser: std::unique_ptr oder std::vector verwenden
Was denn nun? Soll ich wstring, unique_ptr oder vector verwenden? unique_ptr finde ich unhantlicher als wstring und wie das ganze mit vector laufen soll ist mir ein Rätsel. unique_ptr hab ich ja wenigstens noch zum laufen bekommen
Werbeanzeige