Einzelnen Beitrag anzeigen

Benutzerbild von Rastaman
Rastaman

Registriert seit: 6. Jan 2005
Ort: Lübbecke
575 Beiträge
 
Turbo C++
 
#16

Re: [non VCL] - Fehler bei WM_GETTEXT

  Alt 13. Okt 2005, 00:33
Zitat von Olli:
Zitat von Gerrit89:
es geht sogar einfacher

Delphi-Quellcode:
var
  s: PChar;
//...
  edit1 := GetDlgItem(hwnd, 1);
  edit2 := GetDlgItem(hwnd, 2);
  Length := SendMessage(edit1, WM_GETTEXTLENGTH, 0, 0) + 1;
  SendMessage(edit1, WM_GETTEXT, Length, Integer(@s));
  SendMessage(edit2, WM_SETTEXT, Length, Integer(@s));
Es funktioniert auch wenn s: Array [0..1] of Char; is, was ich irgendwie nich verstehe ^^
Ja, wenn du meinst du wüßtest es besser, dann mache es am besten beim nächsten Manl komplett ohne im Forum zu fragen. Sorry, aber was du da hingeschrieben hast ist einfach nur Bockmist. Allein die Übergabe als Pointer auf ein PChar ... aua aua aua

Also wie gesagt, wenn du meinst, daß du es besser weißt, mach es selber, aber eröffne bitte ein Thema in K&T wo du dein Programm vorstellst, damit alle gewarnt sind.

@scp: So ist es!

Ich hab nicht behauptet, dass ich es besser weiß. Ohne eure Hilfe wär ich nie so weit gekommen.
Es sind alles ganz normale Aussagen und bei mir tickt jeder völlig durch.
Habt ihr alle was gegen mich oder so?
Ich versteh das mit dem Pointer auch nicht. Du hast es in deinen Quelltexten oben genau so gemacht
Zitat:
Delphi-Quellcode:
...
SendMessage(hWndEdit, WM_GETTEXT, Len, Integer(@s[1]));
...
Ich versteh die Welt nich mehr was das jetz sollte

//Edit:

Delphi-Quellcode:
var
  Text: String;
...
  edit1 := GetDlgItem(hwnd, 1);
  edit2 := GetDlgItem(hwnd, 2);
  Length := SendMessage(edit1, WM_GETTEXTLENGTH, 0, 0) + 1;
  SetLength(Text, Length);
  SendMessage(edit1, WM_GETTEXT, Length, Integer(PChar(Text)));
  SendMessage(edit2, WM_SETTEXT, Length, Integer(PChar(Text)));
So gehts es jetzt.
Und nochmal: Ich freue mich über eure Hilfsbereitschaft und finde es schade, dass sich manche durch irgendwelche Sachen sofort aufn Schlips getreten fühlen. Ich hab mich einfach nach dem Codeschnippsel gerichtet, wo Pointer verwendet wurden, es hat funktioniert und war etwas kürzer als das Beispiel. Also wollt ich der Allgemeinheit mitteilen, dass es einfacher geht, weil ich es für korrekt gehalten habe. Wenn du das jetzt innen falschen Hals bekommen hast, dann werd ich mich wohl nächstes Mal deutlicher ausdrücken...

//Edit2: Tippfehler ...
Chuck Norris has counted to infinity ... twice!
  Mit Zitat antworten Zitat