Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[15579] TIBCO 랑데뷰 COM 라이브러리를 이용한 통신...에서
물총새 [lspark0909] 1931 읽음    2015-10-28 21:13
고수님들...
아래 소스좀 봐주세요..

랑데뷰 통신... 바닥부터 헤매다 어렵게 어렵게 Listen 까지는 왔네요...

허나,,, Listener 에서 OleVariant 타입으로 전송된 메세지를 형변환하여 받아 먹어야 하는데
//IDispatch Fail, 형변환 실패... 주석의 라인에서 형변환이 Fail 로 반환됩니다.

해결책 알고계신분 도움좀 부탁드립니다.



{*----------------------------------------------------------------------------*}
{*  TibrvListener1onMsg                                                                                                  *}
{*----------------------------------------------------------------------------*}
procedure TForm1.TibrvListener1onMsg(Sender: TObject; var listener, message: OleVariant);
var
   i, j, numfields, fldid:    integer;
   msgdata, fldname, fldtype: string;

   AListener: ITibrvListener;
   AMessage:  ITibrvMsg;
begin
   MSGCountP.Caption := IntToStr(StrToIntDef(Trim(MSGCountP.Caption), 0) + 1);

   if Succeeded(IDispatch(listener).QueryInterface(IID_ITibrvListener, AListener)) then begin //IDispatch Fail, 형변환 실패~
      ShowMessage('listener : ' + AListener.getSubject);
   end;

   if Succeeded(IDispatch(Message).QueryInterface(IID_ITibrvMsg, AMessage)) then begin //IDispatch Fail, 형변환 실패~
      ShowMessage('message : ' + AMessage.toString);
   end;

   numfields := AMessage.getNumFields;
   msgdata   := AMessage.getSendSubject + ' -> ' +IntToStr(numfields) +' field(s) received !!' +#13+#13;

   memo1.Lines.Add(AMessage.toString);
end;

+ -

관련 글 리스트
15579 TIBCO 랑데뷰 COM 라이브러리를 이용한 통신...에서 물총새 1931 2015/10/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.