프로그램 주요 내용입니다..
var
SOutline: string;
lac_utf : array [0..32700] of char;
wData : array [0..32700] of wchar;
procedure
SOutline := '<mos>'+#13#10 +
'<mosID>Video</mosID>'+#13#10 +
'<ncsID>GVGENPS</ncsID>'+#13#10 +
'<roStorySend>'+#13#10 +
'<roStorySend>'+#13#10 +
'</mos>'+#13#10;
fillchar(lac_utf, sizeof(lac_utf), #0);
fillchar(wData, sizeof(wData), #0);
StrPCopy(lac_utf, SOutline);
MultiByteToWideChar(CP_ACP,0,lac_utf,length(lac_utf),wData,sizeof(wData));
for i := 0 to SizeOf(wData) do <--문제의 byte operation
chSwap := widechar((((ch shr 8) and $00ff) or ((ch shl 8) and $ff00)));
Socket.Send(wData,sizeof(wData));
프로그램에서 해결 해야하는 건 SOutline값을 widechar형의 lac_utf로 변환한 다음 lac_utf의 byte 배열을 앞의 8bit와 뒤의 8bit를 바꿔주는 것까지 해야 합니다..
현재 WIDECHAR형으로 바꾸는 건 했다라고 여겨지는데 배열을 바꾸는 게 타입이 달라서 그런지 잘 되질 않습니다..
몇 일동안 고생하고 있는데 경험이 있으신 분들이나 고수님들 조언부탁드립니다.
감사합니다..