DelphiXE2 와 Visual Studio 2013을 사용합니다.
하다 하다 안되니 이젠 별 짓을 다 해봅니다.
델파이로 DLL을 만들어 VB에서 가져다 사용할까 하고 테스트삼아 하나 만들어 봤습니다.
library MyDLL;
uses
VCL.Dialogs;
Function Test(A: WideString; B: WideString) : WideString; stdcall;
Var
C : String;
begin
Result := A + B;
ShowMessage('A : "' + A + '"' + #10#13 + 'B : "' + B + '"' + #10#13 + 'Result : "' + Result + '"');
end;
exports
Test name 'Test';
begin
end.
위와 같이 DLL을 만들고 이것을 아래와 같이 VB에서 사용하는데요.
Public Class Form1
Public Declare Function Test Lib "MyDLL.dll" (ByVal A As String, ByVal B As String) As WideString
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim a As String = "글자가" & vbCrLf
Dim b As String = "잘보이나?" & vbCrLf
Dim c As String = ""
c = Test(a, b)
TextBox1.Text = a
TextBox2.Text = b
End Sub
End Class
VB쪽에서는 이상이 없는데 문제는 델파이쪽입니다.
ShowMessage('A : "' + A + '"' + #10#13 + 'B : "' + B + '"' + #10#13 + 'Result : "' + Result + '"');
이부분에서 한글이건 영문이건 관계없이 글자가 모두 깨져서 보이거든요.
이건 어떻게 해결해야 하나요?
|