ListBox의 핸들값을 알고 있는데 SendMessage를 써서
첫번째 라인의 문자열 데이타를 구하려는데 잘 안되는군요
Buff:array[0..1024] of char;
SendMessage(wnn,LB_GETTEXT,wparam(0),lParam(@Buff));
Edit1.Text:=string(Buff);
으로 코딩해봤는데
Edit1에는 '?'만 찍히는군요
변수선언 또는 파라미터 사용에 문제가 있는것 같은데요
어디를 고쳐줘야하는지 고수님 도움 부탁드립니다
MSDN
[ . . . .The buffer must have sufficient space for the string and a terminating null character. ]
procedure TForm1.Button4Click(Sender: TObject);
var
Len, Index : Integer;
pStr : PChar;
ReValString : String;
begin
Index := 0;
Len := ListBox2.Perform(LB_GETTEXTLEN, Index, 0);
GetMem(pStr, Len+1); // +1 null 종료문자
ListBox2.Perform(LB_GETTEXT, wParam(Index), lParam(pStr));
SetString(ReValString, pStr, Len);
Edit1.Text := ReValString;
FreeMem(pStr);
end;
즐푸~~