IHTMLElement.getAttribute EvariantTypeCastError 오류 피하기
IHTMLElement의 메소드중 속성값을 얻어오는 getAttribute 사용시 제공된 속성이 없으면 다음과 같은 예외 오류가 발생한다.
raised exception class EVariantTypeCastError with Mesage 'Could not convert variant of type (Null) into type (OleStr)."
위 오류는 Element에 제공된 속성이 없어서 NULL값을 반환 할 때 받는 쪽에 할 당할 수 없는 NULL이 할당될 때 발생하는 오류로 다음과 같은 방법으로 해결 할 수 있다.
var attrstr : string; begin if OleVariant(elm).hasAttribute('attr') then attrstr := elm.getAttribute('attr') else attrstr := ''; end;
또다른 방법으로 다음과 같은 방법들이 있다.
○ VarIsNull 사용
if not VarIsNull(HTMLElement.getAttribute('attr')) then attrstr := HTMLElement.getAttribute('attr');
○ IHTMLElement5 타입캐스팅 이용
if (elm as IHTMLElement5).hasAtribute('attr') then attrstr := HTMLElement.getAttribute('attr');
'프로그래밍 > Delphi' 카테고리의 다른 글
How to draw a checkbox to column in a TListView (0) | 2021.02.13 |
---|---|
IHTMLElement.getAttribute('onclick') return nullstring(='') (0) | 2021.02.08 |
TWebBrowser 확대/축소, Zoom (0) | 2021.01.19 |
MS Excel 데이터 읽고 쓰기 (0) | 2020.08.07 |
[델파이/Tips] 관리자 권한으로 실행하기 (2) | 2019.02.20 |