visual basic에서 만든 acriveX dll에서 아래와 같은 프로시져를 정의 했습니다.
Public Sub SetFileName(fn As String)
m_filename = fn
End Sub
fn은 스트링으로 받아들입니다.
이것을 델파이에서 dll을 불러와 사용하였더니
procedure setFileName: procedure(var fn:wideString)이라는 형식으로 나타납니다.
그래서
var
fn : widestring;
..
begin
..
fn := 'arrow.bmp';
xx.setFileName(fn);
---> access violation at address 00000.. 이라는 메세지가 나타납니다.
이럴경우 어떻게 이 파라메터 값을 넘겨 주어야 합니까?
참고로 visual basic 에서는 activeX dll을 불러와서
xx.setFilename "arrow.bmp"을 사용하면 에러없이 잘 사용됩니다.
그리고 델파이에서도 setFileName을 사용하지 않으면 실행이 됩니다.
그럼 답변 부탁드립니다. 감사합니다.