vb 코드
Public Declare Function BS_ConvertToUTF8 Lib "BS_SDK" (ByVal msg As String, ByRef utf8Msg As Byte, ByVal limitLen As Long) As Long
레코드 형 선언
...
username(32) As Byte
department(32) As Byte
...
프로그램에서
Dim sName(20) As Byte
Dim sDepart(20) As Byte 선언 후
...
iResult = BS_ConvertToUTF8("박재형", sName(0), 20)
iResult = BS_ConvertToUTF8("개발부", sDepart(0), 20)
With hdr
CopyMemory .username(0), sName(0), 20
CopyMemory .department(0), sDepart(0), 20
End With
이 것을
Function BS_ConvertToUTF8(msg: PChar; Var utf8Msg: Byte; limitLen: integer): integer; Stdcall; External 'BS_SDK.dll'
username, department: array [0..32] of byte;
프로그램에서
sName, sBuse : array [0..20] of Byte;
iResult := BS_ConvertToUTF8(PChar(psName), sName[0], 20);
iResult := BS_ConvertToUTF8(PChar(psBuse), sBuse[0], 20);
CopyMemory(@userHdr.username[0], @sName, 20);
CopyMemory(@userHdr.department[0], @sBuse, 20);
로 변환 했는데
vb는 오류가 없이 저장되는데 델파이에서는 오류가 발생합니다.
잘못된 부분 좀 가르쳐 주세요 (바로 위의 4줄을 없애면 이름, 부서를 넣지 않고 저장됩니다)