Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Neu in VS2005 Hilfe!!

Empfohlene Antworten

Veröffentlicht

Hi!

ich habe mich heute erstmals mit C++ unter Visual Studio 2005 befasst.

Leider funktioniere einige der Klassen nicht mehr, die ich früher verwendet habe.

Darunter die "Label.cpp", mit der man einen Text formatieren kann, Farbe, Fett, Hyperlink,usw...

Ich bekomme immer die Fehlermeldung:

label.cpp(119) : error C2664: 'strcpy': Konvertierung des Parameters 2 von 'const CString' in 'const char *' nicht möglich

Hier ist der Code dazu:

CLabel& CLabel::SetFontName(const CString& strFont)

{	

	strcpy(m_lf.lfFaceName,strFont);

	ReconstructFont();

	RedrawWindow();

	return *this;

}
Ein weiterer Fehler:
CWnd::SetWindowTextW': Konvertierung des Parameters 1 von 'const char [1]' in 'LPCTSTR' nicht möglich
Code:
SetWindowText("");

Wieso hat das unter VS6 geklappt und jetzt gehts nicht mehr?

Könnt Ihr mir helfen?

LG, Filou

Moin,

Ich glaub bei deinem zweiten Problem sollte ein SetWindowtext(_T("")); oder so ähnlich abhilfe schaffen.

Bei dem ersten Problem stehts doch schon fast da.

error C2664: 'strcpy': Konvertierung des Parameters 2 von 'const CString' in 'const char *' nicht möglich

Entweder du versuchst mal ein paar Dereferenzierungsoperatoren oder gibts vielleicht eine Get-Methode?

MfG Hexagon

Moin,

Ich glaub bei deinem zweiten Problem sollte ein SetWindowtext(_T("")); oder so ähnlich abhilfe schaffen.

Bei dem ersten Problem stehts doch schon fast da.

error C2664: 'strcpy': Konvertierung des Parameters 2 von 'const CString' in 'const char *' nicht möglich

Entweder du versuchst mal ein paar Dereferenzierungsoperatoren oder gibts vielleicht eine Get-Methode?

MfG Hexagon

Zum ersten Teil DANKE!!!

Ich werde es testen.

Zum zweiten... Das habe ich nicht verstanden.

Diese Klasse ist nicht von mir. Ich hab kein Schimmer wie das gestrickt ist geschweige denn, wieso es plötzlich nicht mehr funktioniert.

WIESO GEHT IN VS2005 DAS HIER NICHT MEHR:

LPCTSTR extensions = "Hallo Welt";

Ich verstehe es nicht?

EDIT:

es liegt auch hier an diesem _T was immer das auch macht :rolleyes:

Zum zweiten... Das habe ich nicht verstanden.

Diese Klasse ist nicht von mir. Ich hab kein Schimmer wie das gestrickt ist geschweige denn, wieso es plötzlich nicht mehr funktioniert.

Weil Microsoft die Klasse CString in ein template geändert hat.

Dabei ist wohl der Operator LPCTSTR "verloren" gegangen.

Nein, da ist nichts verlorengegangen. Das (erste) T in LPCTSTR steht für TCHAR. Das ist aber in VS2005 per default nicht mehr char, sondern WCHAR, als ein wide character. Alle Literale, die mit TCHAR zu tun haben, müssen in _T() eingeschlossen werden, damit das Literal je nach Compilereinstellung mit einem führenden L versehen wird, also:

LPCTSTR extensions = _T("Hallo Welt");

Mann kann natürlich auch in den Projekteinstellungen den Zeichensatz wieder von Unicode auf Multibyte stellen. Für die Portierung eines bestehenden Projekts ist das sicher einfacher.

Weil Microsoft die Klasse CString in ein template geändert hat.

Dabei ist wohl der Operator LPCTSTR "verloren" gegangen.

Achso... Danke Dir!! :-)

Das is aber ziemlich schei**! Jetzt kann ich meinn alten code nicht mehr verwenden. Hab schon verschiedene Sachen getestet... Es knallt fas immer in irgendeiner Funktion...

Achso... Danke Dir!! :-)

Das is aber ziemlich schei**! Jetzt kann ich meinn alten code nicht mehr verwenden. Hab schon verschiedene Sachen getestet... Es knallt fas immer in irgendeiner Funktion...

Bitte, bitte. Gern geschehen, aber...

Mann kann natürlich auch in den Projekteinstellungen den Zeichensatz wieder von Unicode auf Multibyte stellen. Für die Portierung eines bestehenden Projekts ist das sicher einfacher.

Hast Du das gelesen und auch verstanden? :nett:

Danke Klotzkopp!

Deinen Beitrag hatte ich überlesen. Ich habe nur den untersten Beitrag gelesen als ich die E-Mail bekam.

Jetzt kalppts wieder :-)

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.