질답란에 글올렸는데 팁엔테크에 내 질문이 올라가 있다니 순간 당황 ㅎㅎ
질문1>
Component - Import ActiveX Control 메뉴를 통해 OCX를 임포트했습니다.
테스트겸 만든 함수를 호출했는데 리턴값이 아무것도 안나오네요.
MFC ocx는 거의 디폴트로 만들고 함수하나만 추가했을 뿐입니다.
ocx 함수 형태는 단순히 BSTR을 리턴합니다.
타입라이브러리 : [id(1)] BSTR Hello();
Hello 함수
strResult = "Hello World";
return strResult.AllocSysString();
델파이에서의 사용코드는 아래와 같습니다.
버튼 클릭하면 Test1이라는 ocx 컨트롤의 Hello 함수를 호출하는 겁니다.
그러나 리턴값이 Hello World로 와야하는데 아무것도 오질 않습니다.
procedure TForm1.Button3Click(Sender: TObject);
var
tmp: widestring;
begin
tmp:= Test1.Hello;
listbox1.AddItem(tmp, self);
end;
end.
VB에서 위 ocx를 사용해 보았는데 결과값이 잘 나옵니다.
델파이에서 사용할려면 특별히 설정해야한다거나
리턴 변수형이나 참조형을 다른것으로 해야한다거나 하는 문제가 있나요?
질문2> 그리고 dll 형태의 com 인터페이스 참조 및 객체생성은 어떻게 해야하나요?