Zum Inhalt springen

"SetWindowText" als Methodenname


SwordMaster

Empfohlene Beiträge

Hallo Zusammen,

ich habe mir seit längerer zeit eine Klassensammlung zusammengestellt wo ich Win32 - Api Methoden gekapselt habe.

Diese Klassensammlung ist in C++ (mit MFC unterstützung) geschrieben.

Das ganze verwende ich jetzt in C# wieder. Dazu schreibe ich mir managed c++ wrapperklassen.

=> Die Original C++ Klasse hat eine Methode "SetWindowText".

Wenn jetzt der Wrapper diese Methode aufruft, schlägt mir die Hilfe plötzlich "SetWindowTextA" als Methodennamen vor :confused:.

Wie gibts denn sowas?

WEnn meine C# Methode die SetWindowText des Wrappers aufrufen will, dann heißt die SetWindowText des Wrappers plötzlich "SetWindowTextW"?

Kann mir das jemand erklären?

Viele Grüße

Stefan

P.S. Wenn ich die Methodennamen in "SetTHEWindowText" umbennen oder sowas, dann gehts.. aber ich würde trotzdem 1. gerne einen grund wissen und 2. meine Methodennnamen beibehalten :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Es gibt eine WinAPI-Funktion namens SetWindowText, d.h eigentlich gibt es die nicht ;). Es gibt die Multi-Byte-Variante (SetWindowTextA) und die Wide-Character-Variante (SetWindowTextW). SetWindowText ist nur ein Präprozessorsymbol, das je nachdem, wie die UNICODE-Einstellungen im C++-Projekt definiert sind, entweder auf SetWindowTextA oder SetWindowTextW verweist.

Und da Präprozessormakros dumm sind und keine Scopes beachten, passiert diese Ersetzung auch in deinem Code, sobald du die Windows-Header einbindest.

Das gilt übrigens für praktisch alle WinAPI-Funktionen, die mit C-Strings arbeiten.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...