Du bist nicht angemeldet.

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

TrommlBomml

Community-Fossil

  • »TrommlBomml« ist der Autor dieses Themas

Beiträge: 2 117

Wohnort: Berlin

Beruf: Software-Entwickler

  • Private Nachricht senden

1

22.08.2007, 11:25

CString macht Probleme

Ich baue zurzeit mit vs 2005 ein Meshconverter für meine Engine. Dabei verwende ich mfc und man kann dabei auch die Texturen ändern. Bei dieser Komponente hab ich eine Value-Membervariable vom Type CString erzeugt. Die DirectX-Funktionen zum Laden von Texturen Erwarten aber einen Zeiger auf einen Null-terminierten String. Ich arbeite mit Ascii.-Zeichensatz. Ich habe verschiedenes ausprobiert (typumwandlung,Zeiger holen mit GetBuffer und anderes). Dabei tritt ein Fehler in einer CString Mtehode auf.
Ich hoffe das das blos ne kleinigkeit is. Wo liegt der Fehler???

C-/C++-Quelltext

1
2
3
4
5
6
7
if( d3d->SubSet_I[i].file != m_Texture)
    {
        if(!d3d->ChangeTexture(i,m_Texture)) //Hab auch anderes Probiert

        {
            AfxMessageBox("Konnte Textur nicht umstellen!");
        }
    }

2

22.08.2007, 13:27

Welcher Fehler tritt denn auf?
Warum verwendest du MFC in VS 2005 und nicht char, char* oder string?
Zeig doch mal den Rest vom Code...
fka tm

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

3

22.08.2007, 13:41

Zitat von »"TrikkieMikkie"«

Warum verwendest du MFC in VS 2005 und nicht char, char* oder string?


Was ist das denn für eine Frage? Die MFC hat grundlegend erstmal nichts mit char, char* oder string zu tun. Aber die MFC bietet eine Stringklasse an, nämlich CString. Und wenn man die MFC verwendet (spricht nichts dagegen) wieso nicht auch die Klasse CString?
@D13_Dreinig

4

22.08.2007, 14:00

Warum einfach, wenn es auch umständlich geht?
Klar spricht nichts dagegen, MFC und CString zu verwenden. (Wer's mag...)
Es spricht auch nichts dagegen, Basis-Datentypen oder die STL zu verwenden. Also darf so eine Frage schon mal erlaubt sein.
fka tm

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

5

22.08.2007, 14:04

Zitat von »"TrikkieMikkie"«


Es spricht auch nichts dagegen, Basis-Datentypen oder die STL zu verwenden. Also darf so eine Frage schon mal erlaubt sein.


Nur um das mal klar zu stellen: char hilft ihm garnicht weiter, char* ist veraltet und CString auf jedenfall vorzuziehen und zu guter letzt bietet die STL garkeine Stringklasse an!
@D13_Dreinig

Beneroth

Alter Hase

Beiträge: 969

Wohnort: Schweiz

Beruf: Software Entwickler

  • Private Nachricht senden

6

22.08.2007, 14:21

Zitat von »"David_pb"«


und zu guter letzt bietet die STL garkeine Stringklasse an!


ne ein Template.
oder wie ? :roll:

7

22.08.2007, 14:23

Asche über mein Haupt! Ich meinte die C++ Standardbibliotheken...
fka tm

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

8

22.08.2007, 14:28

Zitat von »"Beneroth"«

Zitat von »"David_pb"«


und zu guter letzt bietet die STL garkeine Stringklasse an!


ne ein Template.
oder wie ? :roll:


Gehört egtl ja nich zum Thema, aber nein, auch kein Template!

@TrommlBomml: CString bietet die Methode GetBuffer() an. Die sollt funktionieren. Ansonsten bitte mal eine Fehlerbeschreiung.
@D13_Dreinig

helium

Treue Seele

Beiträge: 180

Wohnort: NRW, Burscheid (nahe Köln)

  • Private Nachricht senden

9

22.08.2007, 20:44

er meint std::basic_string
Why is 6 afraid of 7?
Because 7 8 9

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

10

22.08.2007, 20:47

Zitat von »"helium"«

er meint std::basic_string


Weiß ich, ist aber trotzdem kein Teil der STL!
@D13_Dreinig

Werbeanzeige