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

1

30.10.2008, 15:59

Problem mit wsprintf

Hi Leute,
Ich bin gerade dabei mir ein Programm Namens "Clipboardtool" zu programmieren. Am Namen kann man ja schon erkennen, was es machen soll. Nun an Anfang hat alles funktioniert, aber jetzt will ich, dass die Anzahl deer Formate, welche in der Zwischenablage sind, in Form eines Textes ausgeben. Da zu habe ich am Anfang der Nachrichtenverarbeitung folgende Variable:

C-/C++-Quelltext

1
static TCHAR * sznumformats;

Dann habe ich einen Timer, und immmer wenn dieser sendet soll die Anzahl der Formate abgefragt werde. Das funktioniert auch, aber dann gibt es bei wsprintf einen Zugriffsverletzung. Beim Debugen ist an der Zeile mit wsprintf ein grüner Pfeil. Und wenn man dann die Maus darüber hält steht dort: "Dies ist die nächste Anweisung, die ausgeführt wird, sobald der Thead aus der aus der aktuellen Funktion zurückkehrt."

C-/C++-Quelltext

1
2
3
         // Anzahl der Formate, welche in der Zwischenablage sind ermitteln

         numformats = CountClipboardFormats();
         wsprintf(sznumformats, TEXT("Anzahl der Formate: %i"), numformats);

Bei WM_PAINT soll dann das passieren, aber so weit kommt er ja nicht:

C-/C++-Quelltext

1
2
3
4
          hdc = BeginPaint(hwnd, &ps);
          TextOut(hdc, 20, 30, sznumformats, lstrlen(sznumformats));
          EndPaint(hwnd, &ps);
          break;

Ich habe auch schon die Forensuche benutzt, konnte aber nichts brauchbares finden. Ich hoffe, mir kann einer helfen. Vielen Dank schon mal im Voraus!

David_pb

Community-Fossil

Beiträge: 3 886

Beruf: 3D Graphics Programmer

  • Private Nachricht senden

2

30.10.2008, 16:06

Du musst, selbstverständlich, auch noch Speicher, für den String, reservieren.
@D13_Dreinig

3

30.10.2008, 16:09

Oh, natürlich, wie konnte ich das nur vergessen? Danke :)

Werbeanzeige