|
ocx control에서 다음과 같은 이벤트가 발생했을때
LPDISPATCH type의 파라미터값을 어떻게 읽어와야할지 몰겠습니다.
제가 다음과같이 소스를 작성했는데,
컴파일오류는 없었고 이벤트 발생후 한번 실행한뒤에(값은 바로 나옴)
EAccessViolation가 발생합니다.
고수님들 ~~ 도와주셔요~~
void __fastcall TForm1::LcaOSNvMonitorPointUpdateEvent(TObject *Sender,
LPDISPATCH MonitorPoint, LPDISPATCH DataPoint, LPDISPATCH SrcAddr)
{
ILcaNvMonitorPointDisp MonitorP ((ILcaNvMonitorPoint*)MonitorPoint);
ILcaDataPointDisp datap ((ILcaDataPoint*)DataPoint);
===>실행후 EAccessViolation
String roomTemp;
TVariant tag = MonitorP.get_Tag();
AnsiString tmpTag = (AnsiString)tag;
if( tmpTag == "Tag1")
{
roomTemp = datap.get_FormattedValue();
Edit4->Text = (AnsiString)roomTemp;
}
}
|